Creating a Card Payout
With card payouts, you can efficiently withdraw funds from your shop balance to the payment card specified in the request. These payouts are executed through Visa Direct for Visa cards and through Mastercard Send for Mastercard cards enabling swift and seamless transactions to the designated cards.
To facilitate the transfer of funds, the card to which the payout is intended must be sent to PayU in the form of a card token. This token can be acquired from PayU after the card has been tokenized by the cardholder through the secure form.
Additionally, it is possible to send card data in text form, but this option is only available for entities that have been approved to process card data on their own side.
The Card Payout service is exclusively available for shops that meet the specified verification criteria. To initiate the verification process, please get in touch with your PayU sales representative or use the for further assistance.
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"
},
"customerAddress": {
"name":"Stefan Jaracz"
},
"cardToken": {
"value":"TOKC_2IHRST6HKSST3H62K2GS8pElI862"
}
}'
The validation process for input data when performing a payout to a specified payment card is different from that of a standard payout. For comprehensive details on the specific parameters and their validation requirements, please refer to the Create a Payout section in our API Reference.
The card token utilized for the payout can either be the same as the one previously used for payment or generated specifically for this purpose. To obtain a new token, the cardholder must be guided through the tokenization process with the type=MULTI
parameter. This will enable them to save the card, make payments with it, and obtain a multi-use token that can be utilized to execute a payout from the shop balance.
To comply with security requirements and ensure a secure payout process, it is essential to verify the identity of the cardholder. Prior to ordering the payout to the card token, it must undergo verification, such as through a payment process that includes strong authentication.
To ensure strong authentication of the cardholder during the process of creating a new order, you should include the following code snippet in the request:
"threeDsAuthentication": {
"challengeRequested": "MANDATE"
}
Tokens with strong authentication, indicated by a response ECI code value of 5, can indeed be used to authenticate payouts. The level of authentication is denoted by the value of the cardEciCode
parameter, which can be accessed after successfully retrieving transaction data.
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 such a solution, please get in touch with PayU through your sales representative or utilize our .
Card Payout Using Card Data
This integration type is exclusively available for entities that meet the PCI DSS requirements and are approved to process card data on their own side. Additionally, this integration requires additional configuration steps to ensure security and compliance. Therefore, please contact your sales representative at PayU before proceeding with the integration process.
To initiate a payout using this option, you must include the card section in the order request, providing the necessary 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"
},
"customerAddress": {
"name":"Stefan Jaracz"
},
"card": {
"number":"4444333322221111",
"expirationMonth":"11",
"expirationYear":"2029"
}
}'
The validation process for input data when performing a payout to a specified payment card differs significantly from that of a standard payout. For comprehensive details on the specific parameters and their validation requirements, please refer to the Create a Payout section in our API Reference.
Testing Card Payouts
For testing purposes in the Sandbox environment, we have prepared two card numbers. The table below contains the card numbers along with the results obtained from completing the payout process while using those cards.
Number | Expiration Data | Brand | Payout Status |
---|---|---|---|
4655413107713609 | 12/2030 | Visa | REALIZED |
4302193177728334 | 12/2030 | Visa | CANCELLED |
5575278649907280 | 12/2030 | Mastercard | REALIZED |
5436518288281326 | 12/2030 | Mastercard | CANCELLED |