Payouts
In addition, use the following materials to gain a fuller understanding of performing payouts:
- Payout—an article in the section Payment models and statuses that provides a general description of processing payouts in the ecommpay payment platform and covers information about operations utilised to execute a payment of this type and statuses that are assigned to the payment and the operations performed within it.
- articles of the Payment methods section containing a description of performing payouts via Gate with the focus on the specific features of the payment method used and information about relevant requests and callbacks.
Overview
Payout is a payment type which uses one request to make a one-time transfer of funds from merchant to customer.
Basically, the payment platform performs payouts on demand (one-time payments) and P2P (person-to-person) payouts; though, you can implement bulk payouts by using Dashboard. In the latter case, you can have the required payouts generated automatically. For more information about bulk payouts, see Monitoring and performing payments.
Basically, payout initiation request contains payment instrument details. However, if you perform payout on a payment card you can perform payout by token that is associated with the payment card details. To enable this option, you need to perform an initial payment (purchase) to create a token. For more information about using tokens, see Using tokens.
The payout workflow
To perform a payout by using Gate the web service is required to do the following:
- Send the payout request to the following endpoint
/v2/payment/{payment method}/payout[/token]
. - If necessary, complete the additional procedure of payment information submission that is used when any payment stakeholder requires additional information. The procedure is not currently supported for alternative payment methods. For more information, see Submission of additional payment information.
- Receive the callback with payout results from the payment platform.
The following diagram provides the information about the basic payout processing case (without the completion of the additional procedure).
The sections that follow discuss in more details the request format and the parameters to be used in requests for payouts to payment cards, as well as provide information about the format of callbacks which contain payout results. Information about possible statuses of this payment type can be found in the corresponding article.
Request format
There are several things you need to consider when using payout requests to payment cards:
- You perform payout by sending the request by using POST (HTTP) method to one of the following endpoints:
- when making a payout by card number—/v2/payment/card/payout,
- when making a payout by the token that is associated with payment card details—/v2/payment/card/payout/token,
- when making a P2P payout—/v2/payment/individual/payout.
- The following objects and parameters must be specified in the request:
- Object
general
—general request identification information:project_id
—the project ID obtained from ecommpaypayment_id
—payment ID unique within the merchant projectsignature
—signature created after you specify all the required parameters. For more information about signature generation, see Signature generation and verification
- Object
customer
—customer information:id
—the ID of the customer within the merchant projectfirst_name
—customer first namemiddle_name
—customer middle name or patronymiclast_name
—customer last nameip_address
—IP address
Note:The first name, the middle name (or patronymic), and the last name of the customer must be specified for all cards with the exception of those issued in the Russian Federation. For the latter, passing these parameters is not required, but in certain cases not providing them may lead to declined payments. To increase the probability of payment acceptance by issuers, it is recommended to pass both the first and the last name of the payout recipient, or at least one of these parameters. For up-to-date information about specifying the first name, the patronymic, and the last name for payouts to cards issued in Russia, contact your ecommpay account manager.
The first name, the middle name (or patronymic), and the last name must be specified in Basic Latin characters for all cards with the exception of CUP cards for which this information must be provided in Chinese characters.
In case of payouts that originate from physical persons and that are processed as part of the programs supported for the Mastercard MoneySend service, it is required that the first and last names of the payout recipient are specified in the
recipient
object. Therefore, it is not necessary to specify this information in thecustomer
object (more). This requirement applies to all cards regardless of where they were issued. - Object
payment
—payment information:amount
—payout amount in minor unitscurrency
—payout currency in the ISO-4217 alpha-3 format
- Object
- The request must contain the following information about the payment card which will be used in the payout:
-
When payout by the card number—the card number in the
pan
parameter of thecard
object.In case of global payouts, together with the card number you may need to provide the expiration date and the name of the cardholder in the
year
,month
, andcard_holder
parameters of the objectcard
. To learn more about global payouts, contact your ecommpay account manager. - When payout by the token—token of the card received from ecommpay in the
token
parameter.
-
- In the case of a payout to Visa card issued in Canada, the request must contain the
recipient
object with the payout recipient's address data: - In the case of a payout processed as part of the Visa Money Transfer program to a card issued in Brazil or Qatar, the request must contain the sender's phone number in the
phone
parameter of thesender
object. - In the case of a payout that originates from a physical person and that is processed as part of the programs supported for the Mastercard MoneySend service, the request must contain the information about the payout recipient's name in the
first_name
andlast_name
parameters of therecipient
object and the information about the payout sender in thesender
object:- number of the sender's payment instrument—
pan
for the sender's card orwallet_id
for the sender's electronic wallet first_name
—sender's first namelast_name
—sender's last nameaddress
—sender's addresscity
—sender's cityzip
—sender's postal codecountry
—sender's country code in ISO 3166-1 alpha-2- if the specified country code is CA or US, also pass the
state
parameter that provides information about the sender's state, province, or any other region
- number of the sender's payment instrument—
- In the case of a P2P payout it is recommended to specify the sender data:
first_name
—first namelast_name
—last name,citizenship
—citizenshipresidence
—country of residencebirthplace
—place of birth- Object
billing
—sender billing address information
- If required, you can also add any other additional parameters and objects Gate supports.
Thus, to perform a payout on a payment card, the correct payout request must include project and payment IDs, signature, the ID and IP-address of the customer, amount and currency of the payout, as well as the number or token of the card (for crediting), as shown in the following example:
Callback format
The standard format for callbacks is used to deliver payout results. For more information, see Callbacks.
The following is the example of a callback with an information about successful 100.00 USD
payout made to the card number 553691******0802
of the customer_10
customer in the 874
project.
The following example of callback is for a payout rejected due to the maximum payout limit being exceeded.