Direct Pay
Direct Pay is a fast and secure payment service that allows your consumers access to real-time person-to-person (P2P) payments, business-to-consumer (B2C) payments, funds disbursements, insurance claim payouts, and other funds transfer solutions using the existing Visa and Mastercard transaction processing infrastructure.
Rather than using traditional methods such as a check or money order, with Direct Pay, you provide a service to your consumers to “Pull” and “Push” money from and to another consumer or business. No goods or services are involved.
Before you begin
Direct Pay is an enhancement to Visa and Mastercard card transactions and requires additional setup by J.P. Morgan to activate this feature.
This card-based funds transfer service is only available for use by specific types of merchants (that is, merchant category codes (MCC)) for specific purposes (defined by the funds transfer type) which differ by payment brand.
There are two types of Direct Pay transactions:
- Pull funds — Debit or take funds from a funding source.
- Push funds — Credit or give funds to a receiving target account.
MCC and funds transfer type requirements
The following table lists the supported MCC per funds transfer type for Visa:
directPaymentType | fundsTransferType | Supported MCC |
---|---|---|
PULL_FUNDS | ACCOUNT_TO_ACCOUNT | 4829, 6012, 6211, 8220 |
PULL_FUNDS | FUNDS_TRANSFER | 4829, 6012, 6051, 6540, 7995, 8220 |
PULL_FUNDS | PAYROLL_DISBURSEMENT | 4829, 6540, 8931 |
PULL_FUNDS | PERSON_TO_PERSON | 4829, 6012 |
PULL_FUNDS | PREPAID_CARD | 4829, 6012, 6051, 6540 |
PULL_FUNDS | WALLET_TRANSFER | 4829, 6012, 6051,6540, 7995 |
PUSH_FUNDS | ACCOUNT_TO_ACCOUNT | 4829, 6012, 6211, 8220 |
PUSH_FUNDS | FUNDS_DISBURSEMENT Note: Requires |
All |
PUSH_FUNDS | FUNDS_TRANSFER | 4829, 6012, 6051, 6540, 8220 |
PUSH_FUNDS | GAMBLING_PAY Note: Requires |
7800, 7801, 7802, 7995, 9406 |
PUSH_FUNDS | GOVERMENT_DISBURSEMENT Note: Requires |
9211, 9222, 9311, 9399, 9402, 9405 |
PUSH_FUNDS | LOYALTY_PAY Note: Requires |
All |
PUSH_FUNDS | MERCHANT_DISBURSEMENT Note: Requires |
4829, 6012 |
PUSH_FUNDS | ONLINE_GAMBLING_PAY Note: Requires |
7800, 7801, 7802, 7995, 9406 |
PUSH_FUNDS | PAYROLL_DISBURSEMENT Note: Requires |
8931 |
PUSH_FUNDS | PERSON_TO_PERSON | 4829, 6012 |
PUSH_FUNDS | PREPAID_CARD | 6012, 6051, 6540 |
PUSH_FUNDS | WALLET_TRANSFER | 4829, 6012, 6051 |
The following table lists supported merchant and funds transfer types for Mastercard:
directPaymentType |
fundsTransferType |
Supported MCCs |
---|---|---|
PULL_FUNDS | ACCOUNT_TO_ACCOUNT | 4829 |
PULL_FUNDS | FUNDS_TRANSFER | 4829 |
PULL_FUNDS | PAYROLL_DISBURSEMENT | 4829 |
PULL_FUNDS | PERSON_TO_PERSON | 4829 |
PULL_FUNDS | PREPAID_CARD | 4829 |
PULL_FUNDS | WALLET_TRANSFER | 4829, 6540 |
PUSH_FUNDS | ACCOUNT_TO_ACCOUNT | 4829, 6211, 8220 |
PUSH_FUNDS | FUNDS_DISBURSEMENT Note: Requires |
All |
PUSH_FUNDS | FUNDS_TRANSFER | 4829, 6012, 6051, 6540, 8220 |
PUSH_FUNDS | GAMBLING_PAY Note: Requires |
7800, 7801, 7802, 7995, 9406 |
PUSH_FUNDS | GOVERMENT_DISBURSEMENT Note: Requires |
9211, 9222, 9311, 9399, 9402, 9405 |
PUSH_FUNDS | LOYALTY_PAY Note: Requires |
All |
PUSH_FUNDS | MERCHANT_DISBURSEMENT Note: Requires |
4829, 6012 |
PUSH_FUNDS | ONLINE_GAMBLING_PAY Note: Requires |
7800, 7801, 7802, 7995, 9406 |
PUSH_FUNDS | PAYROLL_DISBURSEMENT Note: Requires |
8931 |
PUSH_FUNDS | PERSON_TO_PERSON | 4829 |
PUSH_FUNDS | PREPAID_CARD | 6012, 6051, 6540 |
PUSH_FUNDS | WALLET_TRANSFER | 4829, 6012, 6051 |
Required fields for Direct Pay
Pull funds
fundsTransferType
— Valid values:ACCOUNT_TO_ACCOUNT
FUNDS_TRANSFER
PAYROLL_DISBURSEMENT
PERSON_TO_PERSON
PREPAID_CARD
WALLET_TRANSFER
directPaymentType
— Valid value:PULL_FUNDS
Push funds
fundsTransferType
— Valid values:ACCOUNT_TO_ACCOUNT
FUNDS_DISBURSEMENT
FUNDS_TRANSFER
GAMBLING_PAY
GOVERNMENT_DISBURSEMENT
LOYALTY_PAY
MERCHANT_DISBURSEMENT
ONLINE_GAMBLING_PAY
PAYROLL_DISBURSEMENT
PERSON_TO_PERSON
PREPAID_CARD
WALLET_TRANSFER
directPaymentType
— Valid value:PUSH_FUNDS
transactionReferenceNumber
— Your assigned transaction identifier.accountNumber
(required when payment method is Mastercard) — The funding source account identifier (for example, a device primary account number (DPAN), a token, or the actual account number).fundingSource
— Valid values:CASH
CREDIT_ACCOUNT
CREDIT_CARD
DEBIT_CARD
DEBIT_DEPOSIT_ACCOUNT
MOBILE_MONEY
PREPAID_CARD
The following table lists fields available for use with Direct Pay transactions:
Attribute | Direct Pay type |
Required (Y/N) |
Definition |
---|---|---|---|
fundsTransferType | Both | Y | Codifies the intended use of a payment using direct pay by the merchant. It determines the data carried in the message, the limits and economics that may apply to the transaction and may be used by the sending and/or receiving issuer to make an authorization decision. Pull funds values: ["ACCOUNT_TO_ACCOUNT", “FUNDS_TRANSFER", "PAYROLL_DISBURSEMENT", "PERSON_TO_PERSON", "PREPAID_CARD", "WALLET_TRANSFER"] Push funds values: ["ACCOUNT_TO_ACCOUNT", "FUNDS_DISBURSEMENT", "FUNDS_TRANSFER", "GAMBLING_PAY", "GOVERNMENT_DISBURSEMENT, "LOYALTY_PAY", "MERCHANT_DISBURSEMENT", "ONLINE_GAMBLING_PAY", "PAYROLL_DISBURSEMENT", "PERSON_TO_PERSON", "PREPAID_CARD", "WALLET_TRANSFER"] |
transactionReason | Both | N | Codifies the purpose of the payment based on the standard values defined for the respective market. ["ACCOUNT_MANAGEMENT", "BONUS_PAYMENT", "BUS_TRANSPORT", "BUSINESS_EXPENSE", "CAR_INSURANCE", "CASH_MANAGEMENT_TRANSFER", "CC_REIMBURSEMENT", "CHARITY", "COLLECTION", "COMMISSION", "COMPENSATION", "COPYRIGHT", "CREDIT_CARD_PAYMENT", "DEBIT_CARD", "DEBIT_REIMBURSEMENT", "DEPOSIT", "DIVIDEND", "ELECTRICITY_BILL", "ENERGIES", "FERRY", "FOREIGN_EXCHANGE", "GAS_BILL", "GENERAL_FEE", "GOVERNMENT_CASH_COMP", "GOVERNMENT_PAYMENT", "HEALTH_INSURANCE", "INSOLVENCY", "INSTALLMENT", "INSURANCE_CLAIM", "INSURANCE_PREMIUM", "INTEREST", "INTRA_COMPANY", "INVESTMENT", "LABOR_INSURANCE", "LICENCE_FEE", "LIFE_INSURANCE", "LOAN", "MEDICAL_SERVICE", "MOBILE_P2B", "MOBILE_P2P", "MOBILE_TOPUP", "MUTUAL_FUND_INVESTMENT", "NOT_OTHERWISE", "OTHER_TEL_BILL", "OTHERS", "PAYMENT_ALLOWANCE", "PAYROLL", "PENSION_FUND", "PENSION_PAYMENT", "PROPERTY_INSURANCE", "RAIL_TRANSPORT", "REFUND_TAX", "RENT", "RENTAL_LEASE", "ROYALTY", "SALARY", "SAVING_RETIREMENT", "SECURITIES", "SETTLEMENT_ANNUITY", "SOCIAL_SECURITY", "STUDY", "STUDY_TUITION", "SUBSCRIPTION", "SUPPLIER", "TAX", "TAX_INCOME", "TEL_BILL", "TELEPHONE_BILL", "TRADE_SERVICE", "TRAVEL", "TREASURY", "UNEMPLOYMENT_DISABILITY_BENEFIT", "UTILITY_BILL", "VAT", "WATER_BILL", "WITH_HOLD"] |
directPaymentType | Both | Y | Indicator that specifies whether you want to pull funds from a funding source or push funds to a receiving target. Pull funds value: ["PULL_FUNDS"] Push funds value: ["PUSH_FUNDS"] |
serviceFeeAmount | Pull funds only | N | Optional service fee charged by merchant for use of service. |
currencyConversionFeeAmount | Pull funds only | N | Optional currency conversion fee amount charged by merchant. |
Attribute |
Direct Pay type |
Required (Y/N) |
Definition |
---|---|---|---|
transactionReferenceNumber |
Both |
Pull — N Push — Y |
Identifies a transaction as assigned by a third-party such as the payment gateway, partner bank, facilitator, aggregator, etc. |
accountNumber |
Push funds only |
Y (When payment method is Mastercard) |
The number assigned to a monetary instrument (such as a card, direct debit account [DDA] or other payment account identifier provided for alternative method of payment or local payment solution) sent to the merchant acquirer to facilitate payment for the exchange of goods and services in a financial transaction. These payment account identifiers can be a secure placeholder such as a device primary account number [DPAN] or a token or the actual account identifier. |
taxId |
Both | N |
An identifier assigned by a government agency that is used by a Tax Authority to administer tax laws or by another government body to administer social and government programs. |
taxIdType |
Both | N |
A code that classifies the type of Tax Government Identifier ["SSN", "ITIN", "EIN"]. |
line1 |
Both | N |
First line of street address |
line2 |
Both | N |
Second line of street address |
city |
Both | N |
A portion of a party's address which is the geographic area that is a municipality with legal power granted by a state/province charter. |
state |
Both | N |
Classifies a geographic area that represents a first level, legal and political subdivision of a country as defined in ISO 3166-2 specification (for example, CA, TX, FL). |
postalCode |
Both | N |
The postal code of the address |
countryCode | Both | N | The country code of the address based on Alpha-3 ISO standards |
addressTypeCode | Both | N | Codifies the classification given to the various addresses captured for a sender, such as Doing Business As Address, Legal Entity Address, and Tax Address. |
fundingSource | Both | Pull — N Push — Y |
Identifies the source of funds. ["CASH", "CREDIT_ACCOUNT", "CREDIT_CARD", "DEBIT_CARD", "DEBIT_DEPOSIT_ACCOUNT", "MOBILE_MONEY", "PREPAID_CARD"] |
The following is an example of a Direct Pay pull funds transaction:
HTTP method: POST
Endpoint: /payments
Scenario: Direct Pay pull funds request
{
"directPay": {
"fundsTransferType": "ACCOUNT_TO_ACCOUNT",
"transactionReason": "CREDIT_CARD_PAYMENT",
"directPaymentType": "PULL_FUNDS",
"serviceFeeAmount": 123,
"sender": {
"transactionReferenceNumber": "1234567890123456",
"accountNumber": "5214XXXXXX94",
"fundingSource": "CREDIT_CARD",
"taxId": "123456789",
"taxIdType": "SSN",
"firstName": "John",
"middleName": "D",
"lastName": "Doe",
"address": {
"line1": "1234 Main Street",
"line2": "",
"city": "BEDFORD",
"state": "NH",
"countryCode": "USA",
"postalCode": "03109"
}
},
"birthDate": "1975-06-15"
}
}
The following is an example of a Direct Pay push funds transaction:
HTTP method: POST
Endpoint: /payments
Scenario: Direct Pay push funds request
{
"directPay": {
"fundsTransferType": "ACCOUNT_TO_ACCOUNT",
"transactionReason": "CREDIT_CARD_PAYMENT",
"directPaymentType": "PUSH_FUNDS",
"sender": {
"transactionReferenceNumber": "1234567890123456",
"accountNumber": "5214XXXXXX94",
"fundingSource": "DEBIT_CARD",
"taxId": "123456789",
"taxIdType": "SSN",
"firstName": "John",
"middleName": "D",
"lastName": "Doe",
"address": {
"line1": "1234 Main Street",
"line2": "",
"city": "BEDFORD",
"state": "NH",
"countryCode": "USA",
"postalCode": "03109"
},
"birthDate": "1975-06-15"
}
}
}
Transaction limits
Pull funds
Refer to the following table for transaction limits on a Direct Pay pull funds transaction.
fundsTransferType | Visa (US and Canada) | Mastercard (US and Canada) |
---|---|---|
ACCOUNT_TO_ACCOUNT |
$50,000 | US: $50,000 Canada: $25,000 |
FUNDS_TRANSFER |
$50,000 | US: $50,000 Canada: $25,000 |
PAYROLL_DISBURSEMENT |
$125,000 | $125,000 |
PERSON_TO_PERSON |
$50,000 | $10,000 |
PREPAID_CARD |
$50,000 | $25,000 |
WALLET_TRANSFER |
$50,000 | $25,000 |
Push funds
Refer to the following table for transaction limits on a Direct Pay push funds transaction.
fundsTransferType | Visa (US and Canada) | Mastercard (US and Canada) |
---|---|---|
ACCOUNT_TO_ACCOUNT |
$50,000 | US: $50,000 Canada: $25,000 |
FUNDS_DISBURSEMENT |
$125,000 | $125,000 |
FUNDS_TRANSFER |
$50,000 | US: $50,000 Canada: $25,000 |
GAMBLING_PAY |
$125,000 | US: $50,000 Canada: $10,000 |
GOVERNMENT_DISBURSEMENT |
$125,000 | $125,000 |
LOYALTY_PAY |
$125,000 | $125,000 |
MERCHANT_DISBURSEMENT |
$125,000 | $125,000 |
ONLINE_GAMBLING_PAY |
$125,000 | US: $50,000 Canada: $10,000 |
PAYROLL_DISBURSEMENT |
$125,000 | $125,000 |
PERSON_TO_PERSON |
$50,000 | $10,000 |
PREPAID_CARD |
$50,000 | $50,000 |
WALLET_TRANSFER |
$50,000 | US: $50,000 Canada: $25,000 |