Thank you for your inquiry.
Currently with s2Member to accept shipping information through a Pro Form, you can change the ns (no shipping) directive/attribute from 1 to 0 in your Shortcode. This will enable a Shipping Address field and tell PayPal that you are shipping physical goods so you can do things like add a shipping price.
However, s2Member does not store this information when it gets it back for security reasons and PCI compliance. You will need the User’s Shipping Address when it gets back, so you will have to have a developer set up catch during s2Member’s PayPal IPN handler to receive this information and send it to whatever service you’re using to ship your product, or store it in your database to get later. You can find the processes for PayPal here:
s2member-pro/includes/classes/gateways/paypal/
Also, in the /s2member/includes/classes/ directory, in all of the files starting with paypal-notify-in…
I’m sorry for the involved setup here. s2Member takes all of the steps it can to make shipping possible without overstepping into it and having to supporting shipping items itself, but that unfortunately still leaves a some custom code for those Users that do need to ship physical goods.
Let us know if you have any further questions about this. :-)