Cards
Overview of card payments on PayMongo.
Overview
PayMongo supports Visa and Mastercard credit, debit, and prepaid cards from customers in the Philippines and internationally. All card payments go through the Payment Intent workflow and support 3D Secure (3DS 2.0) authentication by default.
Supported card types
| Type | Networks |
|---|---|
| Credit cards | Visa, Mastercard |
| Debit cards | Visa, Mastercard |
| Prepaid cards | Visa, Mastercard |
How cards attach to a Payment Intent
Card payments follow the standard Payment Intent workflow. The key difference from other payment methods is the 3D Secure step:
- Create a Payment Intent on your server with
"card"inpayment_method_allowed. - Create a Payment Method client-side with
type: "card"and the customer's card details. - Attach the Payment Method to the Payment Intent.
- Check the status:
awaiting_next_action— redirect the customer to the 3DS authentication URL innext_action.redirect.urlprocessing— requery after 1–2 secondssucceeded— payment complete, no redirect neededawaiting_payment_method— error, checklast_payment_error
- Confirm via webhook — listen for
payment.paidorpayment.failed.
See the Quick Start for complete code for this flow.
Features available for cards
| Feature | What it does |
|---|---|
| Card Vaulting | Store a card token on a Customer object for future payments |
| Click to Pay | Mastercard's streamlined checkout — customers skip card re-entry |
| USD Card Acceptance | Accept international card payments in US dollars |
| Hold Then Capture | Authorize a card hold, capture only when ready to fulfill |
3D Secure
PayMongo applies 3D Secure 2.0 to card transactions. 3DS adds an authentication step where the customer's bank verifies their identity (typically via OTP or biometric prompt) before the payment completes.
When 3DS is triggered:
- The Payment Intent status moves to
awaiting_next_action next_action.redirect.urlcontains the authentication URL- Redirect the customer there, then handle the return via your
return_url
Successful 3DS authentication shifts chargeback liability from you to the issuing bank for those transactions.
Testing cards
Use these test card numbers in test mode. See the full list on the Testing page.
| Card number | Behavior |
|---|---|
4343434343434345 | Successful payment, no 3DS required |
4120000000000007 | 3DS required — authenticate to complete payment |
4200000000000018 | Declined — expired card |
4300000000000017 | Declined — invalid CVC |
5100000000000198 | Declined — insufficient funds |
Use any future expiration date and any 3-digit CVC for test cards.
Updated about 4 hours ago