help with payouts on Mexico

Luiselizondo
Contributor
Contributor

Hello, Im from Mexico, I have an application that need to send some payouts, the code was tested a couple of months ago and was working fine, but now that we are going into production, We keep having this message:

 

response-code: 403

details:

name: PAYOUT_NOT_AVAILABLE

message: You live in a country that is not allowed to send this payout

 

First I don't see this error listed on: https://developer.paypal.com/docs/api/payments.payouts-batch/v1/#errors

 

On Stackoverflow there was someone else with the same problem but their solution was to check that the sandbox accounts were on the same country and that the country were on the supported list, and Mexico is in that list (https://developer.paypal.com/docs/api/reference/country-codes/?mark=countries#paypal-commerce-platfo...), so I don't understand if this was working just fine and nothing on the code has changed.

 

We are using  java sdk : 1.14.0

 

 

Thank you in advance

Login to Me Too
5 REPLIES 5

oamm
Contributor
Contributor

Hi Luis, maybe your problem is because PayPal in Mexico decided not to implement fintechs regulations removing the possibility of having a wallet.

I have the same problem and I want to know if PayPal has an alternative to send money to another PayPal account or directly to the bank account.

Login to Me Too

Luiselizondo
Contributor
Contributor

Yes, I think that is what is happening, so my question as developer is this: what options paypal offers me to fix this? I know that you still can transfer directly from bank account to bank account using paypal, I made a test, with my paypal application, and it works , so how do I implement this functionality on my aplication?, we don't want to be transfering one per one, this was automated.

Login to Me Too

Angeloth
New Community Member

Hi Luis,

I'm facing same issue, i'm also from Mexico, how did you resolve this?

Many thanks in advance!

Login to Me Too

EnetoJara
Contributor
Contributor

I had the same problem, but it was because them fields use 

 

 

 

{
    "sender_batch_header": {
        "sender_batch_id": "Enet[Removed. Phone #s not permitted],
        "email_subject": "You have a payout!",
        "email_message": "You have received a payout! Thanks for using our service!"
    },
    "items":[
        {
            "recipient_type": "EMAIL",
            "amount": {
                "value": "500",
                "currency": "MXN"
            },
            "note": "POSPYO001",
            "sender_item_id": "20140314001",
            "receiver": "yow-email",
            "alternate_notification_method": {
                "phone": {
                    "country_code": "52",
                    "national_number":"yow-phone"
                }
            },
            "notification_language": "es-MX"
        }
    ]
};

 

 

 

If you use that payload it'll work.

 

 

/**
 *
 * PayPal Node JS SDK dependency
 */
import paypal from "@paypal/payouts-sdk";

// Creating an environment
let clientId = process.env.ENETO_PAYPAL_CLIENT_ID;
let clientSecret = process.env.ENETO_PAYPAL_CLIENT_SECRET;
let environments = new paypal.core.SandboxEnvironment(clientId, clientSecret);
let clients = new paypal.core.PayPalHttpClient(environments);

let requestBody = {
    "sender_batch_header": {
        "sender_batch_id": "Enet[Removed. Phone #s not permitted],
        "email_subject": "You have a payout!",
        "email_message": "You have received a payout! Thanks for using our service!"
    },
    "items":[
        {
            "recipient_type": "EMAIL",
            "amount": {
                "value": "500",
                "currency": "MXN"
            },
            "note": "POSPYO001",
            "sender_item_id": "20140314001",
            "receiver": "yow-email",
            "alternate_notification_method": {
                "phone": {
                    "country_code": "52",
                    "national_number": "55555555"
                }
            },
            "notification_language": "es-MX"
        }
    ]
};

// Construct a request object and set desired parameters
// Here, PayoutsPostRequest() creates a POST request to /v1/payments/payouts
let request = new paypal.payouts.PayoutsPostRequest();

request.requestBody(requestBody);

// Call API with your client and get a response for your call
let createPayouts  = async function (){
    let response = await clients.execute(request);

    console.log(`Response: ${JSON.stringify(response)}`);
    // If call returns body in response, you can get the deserialized version from the result attribute of the response.
    console.log(`Payouts Create Response: ${JSON.stringify(response.result)}`);
};

createPayouts();

 

 

 

 

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.