Mock Credit Card and Bank Numbers

Ezypay provides these mock credit card numbers for your testing purposes. Each sample payment number can be used to test a different test case reason as described below.

Credit Card Details:

Test Case ReasonActionMock Card Number
PaidSuccess4111111111111111 (or valid 16 digit Luhn algorithm)
Insufficient fundsPayment failed4556175161745153
Invalid detailsPayment failed5596398242217872
Invalid detailsRefund failed4024007157038612

Other failure reasons

Test Case ReasonActionMock Card Number
Expired cardPayment failed5500000000000004
Invalid payment methodPayment failed4868470817885831
Customer to contact bankPayment failed4237990879556339
limit exceededPayment failed4554831955801980

Example for the failed payment mapping codes:

{
  "failedPaymentReason": {
    "code": "insufficient_funds",
    "description": "Payment method has insufficient funds at the time of the transaction."
  },
  "paymentProviderResponse": {
    "code": "Refused",
    "description": "51: Insufficient funds/over credit limit / Not sufficient funds"
  }
}
{
  "failedPaymentReason": {
    "code": "expired_card",
    "description": "The credit card has expired. Please use a different payment method."
  },
  "paymentProviderResponse": {
    "code": "Refused",
    "description": "54: Expired card"
  }
}
{
  "failedPaymentReason": {
    "code": "invalid_payment_method",
    "description": "Payment method details are invalid. Please use a different payment method."
  },
  "paymentProviderResponse": {
    "code": "Refused",
    "description": "12: Invalid transaction"
  }
}
{
  "failedPaymentReason": {
    "code": "customer_to_contact_bank",
    "description": "Transaction rejected by customer's bank. Please use a different payment method or ask the customer to contact the bank."
  },
  "paymentProviderResponse": {
    "code": "Refused",
    "description": "05: Do not honor"
  }
}
{
  "failedPaymentReason": {
    "code": "limit_exceeded",
    "description": "Transaction exceeded the customer's payment method daily withdrawal or activity limit."
  },
  "paymentProviderResponse": {
    "code": "Refused",
    "description": "61: Exceeds withdrawal amount limit(s) / Withdrawal amount limit exceeded"
  }
}

Local Cards for South Korea

Test Case ReasonActionPayment Method TokenMock Card Number
PaidSuccess655d2adb-266c-415f-be87-e22dae7e0ca5
PaidSuccessAuto-generated9490 2200 0661 1406
Insufficient fundsPayment failed4c3d6724-b0f6-4f8b-93aa-3eebf20da187
Unauthorized CardPayment failed0d37cc2e-fa7d-4170-b109-bf151d0607bc
Invalid CardPayment failed35091df1-c8d1-4fb5-abc9-1ceda931d271
Unable to processRefund failed9d379d4a-0007-4975-8caf-89509e48cc61

Bank Account Details:

AU Bank Transactions

Potential Use CaseTransaction TypeBSBLast Four Digits of Account NumberBank Error CodeFailed transaction code
PaidPayment212200 (or any valid BSB111111111NANA
Insufficient funds for refundRefundNA16866insufficient_funds
Insufficient funds for paymentPaymentNA55966insufficient_funds
Payment stoppedPaymentNA15342authority_withdrawn
Account closedPaymentNA31193bank_account_closed
Customer deceasedPaymentNA22224authority_withdrawn
No account or incorrect account numberPaymentNA88115invalid_payment_method
Invalid BSB NumberPaymentNA88121invalid_payment_method
DeletedPaymentNA88137bank_system_error
Invalid User ID NumberPaymentNA88148ezypay_error

NZ Bank Transactions

Potential Use CaseTransaction TypeBankBranchAccount NumberSuffixBank Error CodeFailed transaction code
PaidSuccess389498006000000NANA
Account closedRefundNA0061686Lbank_account_closed
No authority loadedPaymentNA0231534Xauthority_withdrawn
Account not foundPaymentNA0223119Zinvalid_payment_method
Insufficient funds for paymentPaymentNA0035596Uinsufficient_funds
Authority cancelledPaymentNA0256890Cauthority_withdrawn
Account closedPaymentNA0432222Lbank_account_closed
Account transferredPaymentNA0237881Tbank_account_closed
Payment limit exceededPaymentNA0192494Elimit_exceeded

PayTo Account Details

📘

Important Note:

PayTo is only available for AU region. Please reach out to Ezypay before testing the PayTo simulated accounts.

PayTo Simulation accounts

Test Case ReasonActionMock BSB NumberMock Account NumberEmail / Phone number
PayId - Mandate creation success and payment success Mandate creation success
Payment success
[email protected] or
411111111
PayId - Mandate creation failure * Mandate creation failure[email protected] or
422222222
Mandate creation success and payment success Mandate creation success
Payment success
809501111111111
Mandate creation failure * Mandate creation failure 809502222222222
Invalid payment method Mandate creation success
Payment failure
809503333333333
Bank account closed Mandate creation success
Payment failure
809504444444444
Blocked account number (Customer to contact bank) Mandate creation success
Payment failure
809505555555555
Validate mandate service unavailable (Bank system error) Mandate creation success
Payment failure
809506666666666
Authority withdrawn Mandate creation success
Payment failure
809507777777777

GCash Account Details

📘

Important Notes:

GCash is only available for the PH Region. Please reach out to Ezypay before testing the GCash simulated accounts shared below.

Test Case ReasonActionMock Mobile Number
Successfully validate accountSuccess+63 9661645400 Or +63 9661645401
INVALID_ACCOUNT_DETAILSFailed+63 8774400004
PAYMENT_METHOD_ALREADY_EXISTSFailed+63 8774400005
Expired accountFailed+63 8774400001

GCash mock failed payment

Failure CodeInvoice StatusMock invoice amount (PESO)
CHANNEL_NOT_ACTIVATEDPAST_DUE10100
INSUFFICIENT_BALANCEPAST_DUE20110
ACCOUNT_NOT_ACTIVATEDPAST_DUE20111
NAPAID10000

❗️

Difference in receiving the invoice status changes

When testing on the sandbox environment, integrators must be aware that the transaction period when the invoice status is updated different compared to the production environment.

Sandbox behaviour

Cards: The integrators will received the status change within a few seconds.
Bank: The status will be updated the following day, as a backend job will automatically run the billing simulator the next day.

Production behaviour

Cards: The integrators will received the status change within a few seconds.
Bank: Bank transactions are processed at midday every business day (local time for the region). Transactions can take up to 3 business day before they are changed to success. If transactions are sent after midday they will be processed on the next available business day.

❗️

What action is required

Sandbox:

Once an invoice is returned with the "PAST_DUE" status, integrators will need to "REPLACE" the payment method using the "replace payment method" API before triggering the "retry invoice" API.

Production:

Depending if the payment method token is still valid or not, replacing the payment method token might not be required.