Paypal Missing Payer Address with Orders API V2 / Sandbox - paypal

I am setting up a payment integration with PayPal Checkout Buttons and Paypal Orders API V2, which I test in the sandbox environment (no fancy shop system in use).
When an order is paid and status is completed, the Paypal Orders API V2 returns a valid response, but I do not completely receive the payer address from my sandbox buyer account.
Payer looks like this:
"payer": {
"name": {
"given_name": "<given_name>",
"surname": "<surname>"
},
"email_address": "<email>",
"payer_id": "HEU6X43KU231",
"address": {
"country_code": "DE"
}
}
but the payer definition says that the payer should also contain:
address_line_1,
address_line_2,
admin_area_1,
postal code
I would like to use this information to send an invoice to the customer after payment is completed.
First, I thought, the address information is not available in my sandbox buyer account, because you do not find this information in the paypal dashboard (in the details of the respective sandbox account), but the address information is available at https://www.sandbox.paypal.com/businessprofile/settings/address
The whole thing would work with a shipping address, but this look like conceptual mismatch. My order item has the "category": 'DIGITAL_GOODS' and I've set the "shipping_preference": 'NO_SHIPPING', because I sell a digital product, which is automatically delivered after the payment process.
As a workaround I could also ask for the address information in the dialog in our part of the order process (in our GUI, before checkout), and prefill the paypal payment dialog with the userdata entered in our GUI, but in terms of user experience I would prefer to use the paypal data.
Does someone have a clue how to receive the payer address data?
Thanks a lot in advance

I will get the documentation clarified.
But to just answer your question, by default the address of the payer is not shared, just the country_code - to get the complete payer.address you will need to call your account manager or merchant support and they can enable it for your account if you meet their criteria.

Related

PayPal Commerce Platform - Where does the platform fee go?

I'm back with a paypal issue. I've managed to finally capture payments where I've set a platform_fee to be deducted from the total sale. It does deduct the set platform_fee from the amount that the seller receives (listed as platform fee). The completed transaction's response (as well as the GET order's response) show that the transaction fee was sent to the merchant_id of the marketplace platform's sandbox account. However it looks strange to me that the email address attached to it is correct except it is prefixed with "cs-".
Here's a snippet from the response when I capture the payment:
"payment_instruction": {
"platform_fees": [
{
"amount": {
"currency_code": "GBP",
"value": "50.00"
},
"payee": {
"email_address": "cs-sb-5ncon7179067#business.example.com",
"merchant_id": "3P2BRV2QKVZ22"
}
}
],
"disbursement_mode": "INSTANT"
},
Now, the money is all accounted for EXCEPT for the platform fee; I can't see it in my expected sandbox account. I've tried this on a fresh developer account/platform as well, with the same result. One of the accounts I've tried this on is also an approved paypal partner.
I've also tried changing the parameters (as it solved my previous issue) by setting the payee to email, to merchant id, and to default. It all points to the platform's sandbox account, but it doesn't appear in the wallet. I've also made sure my sellers are onboarded with the PARTNER_FEE feature.
Do you have an idea of where I can check this? I don't see it in the activities area of the sandbox account. Thank you.
In the sandbox environment, the partner fee disappears. It goes nowhere and you won't see it end up anywhere.
For the live environment, the partner fee does not go to the partner PayPal account. Rather, it goes directly to the bank account that the partner has set up for this settlement. Contact your partner relationship manager at PayPal for details on changing the bank if needed.

Paypal Transactions in INR

How can I sent money in INR using Paypal business account (REST API)
I have created an account from India in Paypal .But when I tried to sent money using sandbox account.Got error.
{
"name": "PAYOUT_NOT_AVAILABLE",
"message": "You live in a country that is not allowed to send this payout.",
}
Then I found this answer and created a new account with country as UK.
Now I can call my payout API with
"currency": "GBP"
How can I do transactions in INR?
I have created an account from India in Paypal .But when I tried to sent money using sandbox account.Got error.
Are you referring to the live account that you used to sign in to https://www.paypal.com/signin?intent=developer&returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Faccounts%2F
Or are you referring to the sandbox Business account on that list?
When testing in sandbox mode, the important thing is the country of the sandbox account on that list. You may need to create a new Indian Business account in the sandbox environment, and use that for Payouts.

Paypal : We are not able to process payment using PayPal account at this time. Please return to the merchant

I'm trying to accept Paypal payments and i used Express Checkout C# SDK.
But when i'm trying to do a payment, i'm getting a paypal page with this message
"We are not able to process payment using PayPal account at this time. Please return to the merchant" and a button to return to merchant site (cancel url)".
Automatically created accounts (country FR) are not working so i tried to create US accounts not working too. All my accounts are verified.
I tried also to clean my browser cookies (see this post)
Does anyone have a guess ?
Thanks
I am having a similar problem. What I noticed is that if the buyer test account only has a credit card as funding option, then I get the error as soon as I login with the test account. If, on the other hand, the test account also has a Banking Account funding option, then the login succeeds, but I can only choose the Banking Account option and not the credit card to complete the payment.
If in your case you don't need to test the credit card option, perhaps this could be a solution.
Also, on the official PayPal documentation I read that, in order to accept credit cards, you need to upgrade the business account to a Pro account:
https://developer.paypal.com/docs/classic/lifecycle/sb_about-accounts/
I tried that, but it did not help in my case
The simple solution is add "allowed_payment_method": "INSTANT_FUNDING_SOURCE"
"transactions": [
{
"amount": {
"total": data.grandTotal,
"currency": "AUD",
"details": {
"subtotal": (data.subTotal - totalDiscount).toFixed(2),
"shipping": data.shipping,
"handling_fee": data.handling,
"insurance": data.insurance
}
},
"description": "My orders",
"payment_options": {
"allowed_payment_method": "INSTANT_FUNDING_SOURCE"
},

Mass Payment doesn't work over NVP API

I'm trying to make a pay out to my service's users. I'm using Node.js SDK and choose Mass Payments to make automatical pay outs, since looks like it's only possible choise for me (user presses "withdraw" button inside mobile application, application sends request to our server and then our server makes call to PayPal NVP API to transfer money from our paypal account to user's paypal account). I'm making requests through NVP API.
PayPal responses with this error:
{
"TIMESTAMP": "2015-02-17T20:20:29Z",
"CORRELATIONID": "5a949b0257755",
"ACK": "Failure",
"VERSION": "2.3",
"BUILD": "15295733",
"L_ERRORCODE0": "10329",
"L_SHORTMESSAGE0": "User is blocked",
"L_LONGMESSAGE0": "We're sorry, but your PayPal account isn't currently eligible to send mass payments. Please contact either PayPal Customer Service or your account manager.",
"L_SEVERITYCODE0": "Error"
}
What are possible reasons for such error? Maybe I'm using not appropriate type of account for making mass payments? What kind of account should I have? Or maybe I'm just using not appropriate API for making pay outs?
UPD this error occures when I'm trying to use live paypal servers. On sandbox servers mass payment works completely fine.

How can I check the sample email sent by PayPal Invoice API

I'm trying to check how the paypal invoice looks like when it send email to the payer, however, the api doesn't seem to send the email. In the api response, there's a Invoice Url, I was able to see it but it requires the payer to login. Does the API send an email to payer's email or not?
From the PayPal Invoice API docs:
To use the Invoicing API to request payment, you start by making one of the Invoicing API calls to PayPal. Your customer receives the invoice via email and clicks on an included link to view the invoice on PayPal's website. Customers who have a PayPal account can log into their PayPal accounts to pay the invoice. Customers can also pay using a check, debit, or credit card.
(https://developer.paypal.com/docs/classic/invoicing/gs_Invoicing/)
As long as the "ack" field in the JSON response from the API shows "success" as value, an email will be sent by the buyer. He or she has to click the link and login to complete the payment.
Example JSON response:
{
"responseEnvelope": {
"timestamp": "2011-06-16T:12:30.861-07:00",
"ack": "Success",
"correlationId": "78733df04b1f0",
"build": "1942837"
},
"invoiceID": "INV2-C4AK-UU3J-5SCL-9KZY",
"invoiceNumber": "1192",
"invoiceURL": "invoiceURL"
}
so the answer to your question is YES;
Try sending yourself (or another account you control) an invoice. This will give you an idea of what the invoice looks like.