New Recipient Object Field for Payment Gateway API
In line with BSP and AMLC’s regulatory requirement to monitor funding transactions, Maya will be releasing changes to the Payment Gateway API by April 27, 2023 that will affect merchants under the categories below:
- MCC 6540: POI (Point of Interaction) Funding Transactions (Excluding MoneySend)
- MCC 4829: Wire Transf er Money Orders (V, D, G, X) Money Transfer (M)
- MCC 6538: MoneySend Funding
This regulatory requirement aims to ensure that acquirers are sending complete, verified, and accurate information to assist receiving issuers in their authorization decisions and regulatory obligations. To implement these required API changes, kindly advise your developers, IT teams, and/or tech teams on this activity.
What are the API Changes?
- The API change will introduce a new object for
recipient
details. This will be required for merchants categorized under MCC’s 6540, 4829, and 6538 by May 19, 2023. - This
recipient
object must contain the details of the receiver for the transaction.
Schema | Description | Sample Values |
---|---|---|
$.recipient | CONDITIONAL Object. | |
$.recipient.firstName | REQUIRED string, Length: 1-64 | John |
$.recipient.lastName | REQUIRED string, Length: 1-64 | Doe |
$.recipient.accountNumber | REQUIRED string, Length: 1-128 | Value of accountNumber will depend on the accountNumberType. See separate table below. |
$.recipient.accountNumberType | REQUIRED enum. Possible Value- OTHER - ROUTING_TRANSIT_NUMBER_AND_BANK_ACCOUNT - INTERNATIONAL_BANK_ACCOUNT_NUMBER - CARD_ACCOUNT - PHONE_NUMBER - BANK_ACCOUNT_NUMBER - WALLET_ID - SOCIAL_NETWORK_ID | |
$.recipient.accountTargetIdentificationCode | CONDITIONAL string, maximum of 128 charactersIf accountNumberType = BANK_ACCOUNT_NUMBER , this field must be supplied with the target bank’s identification code or BIC | BNORPHMM |
$.recipient.address | REQUIRED object | |
$.recipient.address.line1 | OPTIONAL string, maximum of 64 characters | |
$.recipient.address.line2 | OPTIONAL string, maximum of 64 characters | |
$.recipient.address.city | OPTIONAL string, maximum of 64 characters | |
$.recipient.address.state | OPTIONAL string, maximum of 64 characters | |
$.recipient.address.zipCode | OPTIONAL string, maximum of 10 characters | |
$.recipient.address.countryCode | REQUIRED string, minimum and maximum length of 3 characters, must be a valid alpha-3 country code |
Sample values for Account Number Type
Account Number Type | Sample Value |
---|---|
ROUTING_TRANSIT_NUMBER_AND_BANK_ACCOUNT | 020123456789 |
INTERNATIONAL_BANK_ACCOUNT_NUMBER | GB33BUKB20201555555555 |
CARD_ACCOUNT | 5457210001000019 |
[email protected] | |
PHONE_NUMBER | 639170123456 |
BANK_ACCOUNT_NUMBER | 01234567890 |
WALLET_ID | 01234567890 |
SOCIAL_NETWORK_ID | some_social_network_ID_1234567890 |
OTHER |
Sample
{
...,
"recipient": {
"firstName": "Maya",
"lastName": "Juan",
"accountNumber": "1234567890",
"accountNumberType": "CARD_ACCOUNT",
"address": {
"line1": "6F Launchpad",
"line2": "Sheridan Street corner Reliance Street",
"city": "Mandaluyong",
"countryCode": "PH",
"state": "Metro Manila",
"zipCode": "1550"
}
}
}
Response Body
The HTTP response body of the APIs will return the recipient
object and will apply masking rules on the accountNumber
field depending on the accountNumberType
.
accountNumberType | Masking rule on accountNumber |
---|---|
CARD_ACCOUNT | Show first 6 and last 4 characters |
SOCIAL_NETWORK_ID | Show last 4 characters |
BANK_ACCOUNT_NUMBER | Show last 4 characters |
WALLET_ID | Show last 4 characters |
INTERNATIONAL_BANK_ACCOUNT_NUMBER | Show last 4 characters |
ROUTING_TRANSIT_NUMBER_AND_BANK_ACCOUNT | Show last 4 characters |
PHONE_NUMBER | Show first 5 and last 3 characters |
Show first 1 and last 10 characters | |
OTHER | Show last 4 characters |
Sample Response body and Webhook Data
{
...,
"recipient": {
"firstName": "Maya",
"lastName": "Juan",
"accountNumberType": "BANK_ACCOUNT_NUMBER",
"accountNumber": "*******7890",
"accountTargetIdentificationCode": "BOPIPHMM",
"address": {
"line1": "6F Launchpad",
"line2": "Sheridan Street corner Reliance Street",
"city": "Mandaluyong City",
"countryCode": "PH",
"state": "Metro Manila",
"zipCode": "1550"
}
}
}
What are the steps to implement this change?
The recipient
object should be included in the JSON input when calling the following API endpoints:
- Maya Checkout
- Maya Card Vault
- One-time Payments
- On-demand Customer Payments
To ensure compliance, we highly recommend to implement the above-mentioned change the soonest possible as this will become a strict requirement by May 19, 2023.
Who will be affected?
Merchants who are categorized under MCC 6540, 4829 and 6538.
Need help?
For any questions or concerns, please contact us through our support channels.