I have question that if a customer changes the shipping address when he makes the payment in Paypal (Paypal IPN ,Paypal express) from the entered address(in our merchant website) , how can we do add the extra values or decrease the amount based on the new shipping address .
Thanks
Az
You could:
Implement the Instant Update API, or;
Obtain shipping data by calling GetExpressCheckoutDetails as described in this flow (#5).
Hth...
Related
I am capturing subscription payments with Paypal, sadly neither the IPN message or the API call to /v1/billing/subscriptions/{id} shows me the address of the payer because I set no_shipping = 1 during the subscription creation since I am selling a digital service.
What is the correct way to solve this? I need the address for tax purposes to create an invoice, should I require a shipping address for a digital product?
If you need an address, collect it yourself separately from PayPal or do not specify no_shipping=1. Those are your options.
Is there anyway to prepopulate shipping details for Paypal or at least pull shipping info for a users paypal account so when the seller gets the payment they can access that info instead of having to email the buyer to get their shipping details?
Based on other suggestions I saw online, I tried adding this line, but the payment still comes through as SERVICES instead of GOODS.
primaryReceiver.paymentType = "GOODS";
Thanks for the input, I'm trying to streamline my checkout process so I only have to collect the buyer email instead of all their shipping details.
Make use of SetPaymentOptions and you can include a shipping address.
You'll call it right after the Pay call but before you redirect to PayPal so you can add additional details to the payment.
Using the REST API, how can I charge tax or shipping if I send the user to PayPal to collect shipping information (and pay, of course)?
Doing some research it almost seems like that isn't possible, but I can't imagine that being the case. If I have to collect shipping information myself, the value prop for using PP is greatly reduced.
With the REST API, just like the Classic API, a PayPal payment is executed in three steps:
1) Send initial information to PayPal to get a token. Redirect customer to PayPal. Customer authorizes payment.
2) Get payment details (like the shipping address)
3) Confirm payment.
So, in this case, after getting the shipping address, you display an order review page to the customer where it will generate the shipping options and tax amount to the customer. They then have to select a "Confirm Order" button which will then finalize the charge to PayPal with the new tax/shipping and final amount.
In API terms, the final step is done with the /execute command. This accepts the payer_id you received in step 2, and a transactions array that supports a new amount object.
The amount object includes a details object that includes shipping, tax, handling fee, insurance, etc.
Include the details the customer decides on your review page and PayPal will charge the updated amount to the customer's funding source of choice.
I have a question about shipping address on paypal chained payments
So on my app(buyer-receiver1(me where I collect my %)receiver2(seller where I pass the rest of the money).The flow is like this:Set actionType: CREATE, call PAY API, receive payKey,setPaymentOption(where I set the shipping address),redirect to paypal page to pay(on review page I can see shipping address)
After ogin in seller page and I have this message: Seller Protection Not Eligible(We have no shipping address on file.)
So I emailed paypal stuff and this was their response:
As stated in the documentation of Adaptive payment(chained payment). The sender does not know the existence of secondary and vice versa, hence the secondary receiver won't be able to see who the buyer is. If you would like this to be possible, the only way is via IPN. whereby the IPN must include the secondary receiver.
So my question is: is there something I can do beside IPN where I can transmit the shipping address to the seller for seller protection? If not can you point me some tutorials beside documention. Thank you
Have you tried making the seller the primary receiver and yourself the secondary receiver? You don't actually need the shipping address, so if you're the secondary receiver then it doesn't matter if you don't get it.
I'm using Payflowlink Pro Express Checkout
Flow:
User select items on merchant site.
User clicks buy and fill shipping address.
Server get rates from USPS and FedEx for selected items.
User selects desired postal service with defined rate.
Server calls paypal to setup transaction with selected shipping rate.
User on paypal where he or she able to change shipping address, but shipping rate is already calculated for address what he inputted on merchant site.
I've found a solution of my problem only for classic API (Instant update callback), but not for Payflow Pro Express Checkout
Like a part of solution, user'll be warned about this situation on merchant site, but.. How do I prevent the PP user to change the shipping address or tell me please if it is possible to use instant update callback for Payflow Pro Express Checkout?
Try using the ADDROVERIDE variable with a value of 1. Doing that tells PayPal to use the shipping address you provided and not the address the buyer has set in their PayPal account.
The ADDROVERIDE and the shipping variables are available in the Express Checkout for Payflow Pro guide.
Sorry, I wanted to add this as a comment to the above, but my reputation is < 50
For some reason I couldn't get NOSHIPPING=1 and ADDROVERIDE=1 to prevent paypal asking for the shipping address; It may be due to me not supplying the address to PayPal in the first place.
However, 'no_shipping=1' does prevents PayPal asking the user for the shipping address (for me at least)
I think there may be two different solutions based on certain scenarios, so if one is not working try the other.