Skip to main content

Creating a Card Payout

With card payouts, you can pay out funds from your shop balance to the payment card specified in the request. Payouts are executed through Visa Direct for Visa cards and Mastercard Send for Mastercard cards.

Send the target card to PayU as a card token. You receive the token from PayU after the cardholder tokenizes the card with the Secure Form.

Entities approved to process card data on their own side can also send the card data in plain text.

Note that...

The card payout service is available only for shops that meet the verification criteria. To start the verification process, contact your PayU sales representative or use the .

Card Payout Using Card Token​

curl -X POST https://secure.payu.com/api/v2_1/payouts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd" \
-d '{
"shopId":"n7Cd7y1U",
"payout": {
"extPayoutId":"externalId12345",
"amount":"1000",
"description":"Some payout"
},
"payee": {
"extCustomerId": "Customer1",
"accountCreationDate": "2025-03-27T00:00:00.000Z",
"phoneNumber": "48 225108001",
"email": "email@email.com"
},
"customerAddress": {
"name":"Stefan Jaracz"
},
// highlight-start
"cardToken": {
"value":"TOKC_2IHRST6HKSST3H62K2GS8pElI862"
}
// highlight-end
}'

The request must contain the payee object with extCustomerId, accountCreationDate and email (phoneNumber is optional), and the customerAddress object with the payee's name.

The validation process for input data when performing a payout to a specified payment card is different from that of a standard payout. For details about the parameters, see the Create a Payout section in our API Reference.

You can use the same card token as for an earlier payment or generate a new one. To obtain a new token, guide the cardholder through tokenization with type=MULTI. The cardholder saves the card and pays with it, and you receive a multi-use token that you can use to pay out funds from the shop balance.

Note that...

For security reasons, the identity of the cardholder must be verified. Before you order a payout to a card token, the token must be verified, for example, in a payment with strong authentication.

To strongly authenticate the cardholder when creating a new order, include the following object in the request:

OrderCreateRequest Extension
"threeDsAuthentication": {
"challengeRequested": "MANDATE"
}

Tokens with strong authentication (ECI code 5 in the response) can be used for payouts. The authentication level is indicated by the cardEciCode parameter, which you receive after retrieving transaction data.

Re-authentication

A previously authenticated token may still require re-authentication. In such cases, PayU declines the payout and returns the following error:

Description
403 Forbidden
8364
BUSINESS_ERROR
PAYOUT_TOKEN_INSUFFICIENT_AUTHENTICATION_LEVEL

In this situation, we recommend creating a new order using the token that requires strong authentication and setting the threeDsAuthentication.challengeRequested parameter to MANDATE.

After completing the re-authentication process, you must handle the response that returns the redirectUri parameter.

In situations where a payment card does not support strong authentication or for any other reason the authentication cannot be performed, the merchant is responsible for verifying the payment card through an alternative method. One such method could involve charging the card for a random amount and requesting the customer to provide this specific value for verification. To activate this solution, contact PayU through your sales representative or use our .

Card Payout Using Card Data​

Note that...

This integration is available only for entities that meet the PCI DSS requirements and are approved to process card data on their own side. It also requires additional configuration, so contact your PayU sales representative before you start the integration.

To create a payout with card data, include the card object in the payout request.

Card Payout with Specified Card Data
curl -X POST https://secure.payu.com/api/v2_1/payouts \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 3e5cac39-7e38-4139-8fd6-30adc06a61bd" \
-d '{
"shopId":"n7Cd7y1U",
"payout": {
"extPayoutId":"externalId12345",
"amount":"1000",
"description":"Some payout"
},
"payee": {
"extCustomerId": "Customer1",
"accountCreationDate": "2025-03-27T00:00:00.000Z",
"phoneNumber": "48 225108001",
"email": "email@email.com"
},
"customerAddress": {
"name":"Stefan Jaracz"
},
// highlight-start
"card": {
"number":"4444333322221111",
"expirationMonth":"11",
"expirationYear":"2029"
}
// highlight-end
}'

The validation process for input data when performing a payout to a specified payment card differs significantly from that of a standard payout. For details about the parameters, see the Create a Payout section in our API Reference.

Testing Card Payouts​

In the Sandbox environment, you can test card payouts with the cards listed below. The Payout Status column shows the result of a payout to each card.

Expiration Date
4655413107713609
12/2030
Visa
REALIZED
4302193177728334
12/2030
Visa
CANCELLED
5575278649907280
12/2030
Mastercard
REALIZED
5436518288281326
12/2030
Mastercard
CANCELLED