I've been trying to answer the same question, using developer support for help. (I'm running PHP and would like to interface with USPS.) You can send the product weight by embedding a weight variable in your "Buy Now" or "Add to Cart" button and then use that as a driver to calculate shipping in PayPal. Unfortunately, you have to map weights to only 5 different shipping charges -- although you can, if you like, set up 5 different charges per state. Since states have more than one ZIP code, the mapping between state and ZIP code is pretty crude -- also this implies quite a lot of work in figuring this out, ultimately to be limited to 5 different levels of charge per "zone". I did get an additional line to explore from one of the support techs. I haven't looked at it yet, but I will copy it here: "I've had another look at your scenario and as you indicated you are using PHP to interface with USPS, I have run some tests using our PHP NVP SDK to see what would suit best. I can let you know that an option here would be to use the the Callback functionality within the Express Checkout API. I have attached an example script that highlights how you can capture the 'SHIPTOZIP' variable, pass that to USPS to obtain the relevant shipping cost, then enter this back into the NVP string that is passed back to PayPal. If you haven't already I would encourage you to download and install the SDK: https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_PHP_NVP_Samples.zip (The full SDK page is here: https://cms.paypal.com/us/cgi-bin/?&cmd=_render-content&content_ID=developer/library_download_sdks#NVP) The Express Checkout process is discussed in more detail in the Integration Guide: https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_ExpressCheckout_IntegrationGuide.pdf (The Express Checkout Section on our main documentation page is here: https://cms.paypal.com/us/cgi-bin/?&cmd=_render-content&content_ID=developer/library_documentation#ec) The reference document for the NVP APIs is here: https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_NVPAPI_DeveloperGuide.pdf Steps: 1. Download and install the PHP NVP SDK 2. If you follow through the transaction flow of the 'Express Checkout - Sale' sample, you'll see the standard process steps for this method. 3. You'll now need to edit and upload the attached 'Callback.php' to your server as well. (Add the shipping methods you require and enter your email address). 4. Subsequently you'll edit 'ReviewOrder.php' to ensure 'Callback.php' is called: Locate '&CALLBACK' within '$nvpstr'. Enter the URL to 'CallBack.php' on your server 5. Now if you place make a payment using the 'Express Checkout - Sale' option on the SDK sample page you should get receive email with the NVP string. Please not that this script is provided as-is, strictly for testing and demo purposes only. " Hopefully this leads you to some option that will work !
... View more