Paypal Payout in android kotlin. I have NON_HOLDING_CURRENCY before redirecting to paypal website.

adam314pi
Contributor
Contributor
my piece of code
fun
createOrder() {
val client = AsyncHttpClient()
client.addHeader("Content-Type", "application/json")
client.addHeader("Authorization", "Bearer $accessToken")

val body = """
{
"sender_batch_header": {
"sender_batch_id": "100",
"email_subject": "You have a payout!",
"email_message": "You have received a payout! Thanks for using our service!"
},
"items": [
{
"recipient_type": "EMAIL",
"amount": {
"value": "1.00",
"currency": "PLN"
},
"note": "Thanks for your patronage!",
"sender_item_id": "201403140001",
"receiver": "email",
"recipient_wallet": "PAYPAL"
}
]
}
""".trimIndent()

val entity: HttpEntity = StringEntity(body, "utf-8")
client.post(
this,
"https://api-m.sandbox.paypal.com/v1/payments/payouts",
entity,
"application/json",
object : TextHttpResponseHandler() {
override fun onFailure(
statusCode: Int,
headers: Array<out Header>?,
responseString: String?,
throwable: Throwable?
) {
if (responseString != null) {
Log.e("Failure Response", responseString)
}
}

override fun onSuccess(
statusCode: Int,
headers: Array<out Header>?,
responseString: String?
) {
if (responseString != null) {
Log.d("Success Response", responseString)
val jsonResponse = JSONObject(responseString)
}
}
}
)
}

 

Login to Me Too
4 REPLIES 4

MTS_Chiranjeevi
Moderator
Moderator

Good day @adam314pi,

 

Thank you for posting to the PayPal community.

 

NON_HOLDING_CURRENCY : 

Your account does not have a PayPal balance in this currency. Try again with a currency that has funds in your PayPal account, or change your account settings to this currency.

 

Please refer below guide links : 

 

https://developer.paypal.com/docs/api/payments.payouts-batch/v1/#error-NON_HOLDING_CURRENCY 

 

https://developer.paypal.com/docs/api/payments.payouts-batch/v1/#errors 

 

 Please make sure you have PayPal balance in"PLN" currency. 

 

https://www.paypal.com/us/cshelp/article/how-do-i-manage-my-currencies-in-paypal-help116 

 

Sincerely,

Chiranjeevi

PayPal/Braintree MTS

 

If this post or any other was helpful, please enrich the community by giving kudos or accepting it as a solution.

Login to Me Too

adam314pi
Contributor
Contributor
Hello. Thanks for your response, but I have checked all things you mentioned and my code still doesnt work. I have balance in PLN and pln is my primary currency. The problem is that after invoking method created in my code, the api renponse is NOT_HOLDING_CURRENCY, there is no redirection to PayPal website with login to payer account. How program does know my preferred currency an balance of my account if the request of login to PayPal account didn't occur?
Login to Me Too

MTS_Chiranjeevi
Moderator
Moderator

@adam314pi

 

I would suggest to please follow the instructions provided in my last comments and below guide link. 

 

https://developer.paypal.com/docs/payouts/ 

 

https://developer.paypal.com/docs/api/payments.payouts-batch/v1/ 

 

https://developer.paypal.com/docs/api/payments.payouts-batch/v1/#errors 

 

https://developer.paypal.com/docs/api/payments.payouts-batch/v1/#error-NON_HOLDING_CURRENCY 

 

Please make sure you have sufficient balance in your PayPal account and perform a test payout

 

If your still facing any issues, please create a MTS ticket via - https://www.paypal-support.com/s/?language=en_US  with the detail information and error details.

Login to Me Too

adam314pi
Contributor
Contributor

I've managed to get an api response:
I want to make payout with paypal what can I do to open payout form in CCT having this api response: { "batch_header":{ "payout_batch_id":"XCW5SNG9G32LG", "batch_status":"PROCESSING", "time_created":"2023-07-13T14:53:43Z", "sender_batch_header":{ "sender_batch_id":"203", "email_subject":"You have a payout!", "email_message":"You have received a payout! Thanks for using our service!" }, "funding_source":"PAYPAL_PAYABLE", "amount":{ "currency":"PLN", "value":"1.00" }, "fees":{ "currency":"PLN", "value":"0.75" } }, "items":[ { "payout_item_id":"G66ZS46HBANEY", "transaction_id":"5GJ03567GH736484J", "activity_id":"0RU18771TF448244C", "transaction_status":"UNCLAIMED", "payout_item_fee":{ "currency":"PLN", "value":"0.75" }, "payout_batch_id":"XCW5SNG9G32LG", "payout_item":{ "recipient_type":"EMAIL", "amount":{ "currency":"PLN", "value":"1.00" }, "note":"Thanks for your patronage!", "receiver":"email", "sender_item_id":"201403140001", "recipient_wallet":"PAYPAL" }, "time_processed":"2023-07-13T14:53:43Z", "errors":{ "name":"RECEIVER_UNREGISTERED", "message":"The recipient for this payout does not have an account. A link to sign up for an account was sent to the recipient. However, if the recipient does not claim this payout within 30 days, the funds will be returned to your account.", "information_link":"https://developer.paypal.com/docs/api/payments.payouts-batch/#errors", "details":[ ], "links":[ ] }, "links":[ { "href":"https://api.sandbox.paypal.com/v1/payments/payouts-item/G66ZS46HBANEY", "rel":"item", "method":"GET", "encType":"application/json" } ] } ], "links":[ { "href":"https://api.sandbox.paypal.com/v1/payments/payouts/XCW5SNG9G32LG?page_size=1000&page=1", "rel":"self", "method":"GET", "encType":"application/json" } ] }

and now I want to use CCT: Chrome Custom Tabs to display PayPal payout form to fill, but I don't know what link from API must I use? "https://api.sandbox.paypal.com/v1/payments/payouts-item/G66ZS46HBANEY" doesn't work. If I was doing paypal checkout I would use link like this top redirect to the form: https://www.sandbox.paypal.com/checkoutnow?token=7SK004563220K5251910F. But what is equivalent of this link in PAYOUTS?  if https://www.sandbox.paypal.com/payoutnow?token=7SK00420K5251910F is not a proper link, what is the proper one??? Can anyone help

Login to Me Too

Haven't Found your Answer?

It happens. Hit the "Login to Ask the community" button to create a question for the PayPal community.