Skip to main content

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:

  1. Pull funds — Debit or take funds from a funding source.
  2. Push funds — Credit or give funds to a receiving target account.
Tip

Implement pull and push funds transfers independently or in combination, depending on your use case. For example, possible scenarios include: push funds for a payroll disbursement, pull funds for a prepaid card top-up, or pull and push funds for a person to person transfer.

MCC and funds transfer type requirements

The following table lists the supported MCC per funds transfer type for Visa:

Visa supported MCC per funds transfer type
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 DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

All
PUSH_FUNDS FUNDS_TRANSFER 4829, 6012, 6051, 6540, 8220
PUSH_FUNDS

GAMBLING_PAY

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

7800, 7801, 7802, 7995, 9406
PUSH_FUNDS

GOVERMENT_DISBURSEMENT

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

9211, 9222, 9311, 9399, 9402, 9405
PUSH_FUNDS

LOYALTY_PAY

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

All
PUSH_FUNDS

MERCHANT_DISBURSEMENT

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

4829, 6012
PUSH_FUNDS

ONLINE_GAMBLING_PAY

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

7800, 7801, 7802, 7995, 9406
PUSH_FUNDS

PAYROLL_DISBURSEMENT

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

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:

Mastercard supported merchant and funds transfer types
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 DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

All
PUSH_FUNDS FUNDS_TRANSFER 4829, 6012, 6051, 6540, 8220
PUSH_FUNDS

GAMBLING_PAY

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

7800, 7801, 7802, 7995, 9406
PUSH_FUNDS

GOVERMENT_DISBURSEMENT

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

9211, 9222, 9311, 9399, 9402, 9405
PUSH_FUNDS

LOYALTY_PAY

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

All
PUSH_FUNDS

MERCHANT_DISBURSEMENT

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

4829, 6012
PUSH_FUNDS

ONLINE_GAMBLING_PAY

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

7800, 7801, 7802, 7995, 9406
PUSH_FUNDS

PAYROLL_DISBURSEMENT

Note: Requires DEBIT_DEPOSIT_ACCOUNT as the  fundingSource

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:

Fields applicable to 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.
Fields applicable to Direct Pay transactions — sender information
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

Json
{
    "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

Json
{
    "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.

Pull funds transaction limits for Visa and Mastercard
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.

Push funds transaction limits for Visa and Mastercard
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