Philippines
Learn about the dLocal supported payment methods in Philippines.
Market specifications
Take a look of all the payment methods available.
Country reference Cards supported APM supportedCards
Find all the information about the card supported capabilities.
Capabilities Process Card PaymentsAlternative Payments
Learn how to integrate cash, bank transfer or wallet payment.
GCash GrabPay Maya Direct Debit Recurring Payments Static Virtual AccountMarket specifications
Do you want to know more information about the Philippines' market? Go to the APAC: The world’s leader in eCommerce market sales article.
Country reference
country code | currency code | document name | document format | document required? |
---|---|---|---|---|
PH | PHP | PSN | 12 digits | Yes |
Cards supported
payment_method_id | Brand ID | Name | payment_method_type | Details | Allowed Flows | Logo |
---|---|---|---|---|---|---|
CARD | VI | Visa | CARD | Credit Card | DIRECT REDIRECT | |
CARD | VD | Visa Debit | CARD | Credit Card | DIRECT REDIRECT | |
CARD | MC | Mastercard | CARD | Credit Card | DIRECT REDIRECT | |
CARD | MD | Mastercard Debit | CARD | Debit Card | DIRECT REDIRECT |
To offer all the card options that may be available in your integration, send the
payment_method_id
asCARD
.
Alternative Payment Method supported
payment_method_id | Name | payment_method_type | Details | Allowed Flows | Logo |
---|---|---|---|---|---|
GC | GCash | WALLET | Wallet | REDIRECT | ![]() |
GY | GrabPay | WALLET | Wallet | REDIRECT | ![]() |
PM | Maya | WALLET | Wallet | REDIRECT | ![]() |
GW | Direct Debit | WALLET | Wallet | REDIRECT | ![]() |
XU | Recurring Payments | WALLET | Wallet | REDIRECT | ![]() |
VS | Static Virtual Account ( Via Instapay or PESONet) | BANK_TRANSFER | Bank Transfer | REDIRECT | ![]() |
Cards
Capabilities
Visa Credit | Mastercard Credit | Visa Debit | Mastercard Debit | |
---|---|---|---|---|
Refunds | Yes | Yes | Yes | Yes |
Recurring | No | No | No | No |
Chargeback option | No | No | No | No |
Chargeback Dispute option | No | No | No | No |
Descriptor | Merchant name | Merchant name | Merchant name | Merchant name |
How to process Card Payments?
Learn how to process payments with credit and debit cards with dLocal in our Card Payments section.
Alternative Payment Method
GCash
GCash, the leading e-wallet in the Philippines, is a reloadable prepaid card co-branded with Mastercard that enables shoppers to pay by text message, or on their mobile or desktop.
Capabilities
GCash | |
---|---|
Hard expiration | 15 minutes |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow

The screenshots illustrate a generic GCash redirect flow.
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | PHP Transaction currency in ISO 4217. | Yes |
country | String | PH Transaction country in ISO 3166. | Yes |
payment_method_id | String | GC ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 500,
"currency": "PHP",
"country": "PH",
"payment_method_id": "GC",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "janedoe@mymail.com",
"document": "123456789012",
"address": {
"country": "PH",
"state": "Manila",
"city": "Manila",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "345453483kqws0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "R-4-39983e50-jhy1-47ed-96fe-d1aa9f799495",
"amount": 500,
"currency": "PHP",
"payment_method_id": "GC",
"payment_method_type": "TICKET",
"payment_method_flow": "REDIRECT",
"country": "PH",
"created_date": "2023-01-30T19:33:43.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "345453483kqws0",
"description": "Tshirt",
"notification_url": "http://merchant.com/notification/new",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-0e0b5d31-2714-49a1-9987-e4b50d14397c"
}
GrabPay
GrabPay (among the top 4 digital wallets) allows payments for rides, food deliveries, in-store purchases and online shopping, convenient and hassle-free.
Capabilities
GrabPay | |
---|---|
Hard expiration | 15 minutes |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow

The screenshots illustrate a generic GrabPay redirect flow.
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | PHP Transaction currency in ISO 4217. | Yes |
country | String | PH Transaction country in ISO 3166. | Yes |
payment_method_id | String | GY ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 500,
"currency": "PHP",
"country": "PH",
"payment_method_id": "GY",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "janedoe@mymail.com",
"document": "123456789012",
"address": {
"country": "PH",
"state": "Manila",
"city": "Manila",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "345453483kqws0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "R-4-c90cc244-230b-4a87-jhaq-bb2f2c6cacc8",
"amount": 500,
"currency": "PHP",
"payment_method_id": "GY",
"payment_method_type": "TICKET",
"payment_method_flow": "REDIRECT",
"country": "PH",
"created_date": "2023-01-30T19:35:43.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "345453483kqws0",
"description": "Tshirt",
"notification_url": "http://merchant.com/notification/new",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-e795ab1d-9597-4afd-7uy6-296ee820e72a"
}
Maya
Maya is also a very popular e-wallet, with millions of users.
Capabilities
Maya | |
---|---|
Hard expiration | 30 minutes |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow

The screenshots illustrate a generic Maya redirect flow.
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | PHP Transaction currency in ISO 4217. | Yes |
country | String | PH Transaction country in ISO 3166. | Yes |
payment_method_id | String | PM ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 500,
"currency": "PHP",
"country": "PH",
"payment_method_id": "PM",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "janedoe@mymail.com",
"document": "123456789012",
"address": {
"country": "PH",
"state": "Manila",
"city": "Manila",
"zip_code": "8858",
"street": "Main St.",
"number": "540"
}
},
"order_id": "345453483kqws0",
"description": "Tshirt",
"notification_url": "http://merchantsite.com/notification/new",
"callback_url": "http://merchantsite.com/success_page"
}
{
"id": "R-4-f700d58b-hj76-4dbd-85df-cb8b10060418",
"amount": 500,
"currency": "PHP",
"payment_method_id": "PM",
"payment_method_type": "TICKET",
"payment_method_flow": "REDIRECT",
"country": "PH",
"created_date": "2023-01-30T19:38:40.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "345453483kqws0",
"description": "Tshirt",
"notification_url": "http://merchant.com/notification/new",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-4b94635e-5070-7uyt-8179-3ac2f3787c61"
}
Direct Debit
Direct Debit is a payment method where end users can register their debit cards or online bank login with a merchant or marketplace to pay for their purchases by making one-time payments.
The recurring option is also available: After a one-time authorization, merchants can pull funds directly from an end user’s bank account.
Capabilities
Direct Debit | |
---|---|
Max. expiration time supported | Depends on the provider. |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
UX Flow
The recurring payments option will not require any user interaction besides initial authorization.

The screenshots illustrate a generic Direct Debit redirect flow.
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | PHP Transaction currency in ISO 4217. | Yes |
country | String | PH Transaction country in ISO 3166. | Yes |
payment_method_id | String | GW ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
payer.phone | Number | User's phone number. | Yes |
wallet.name | String | Name of the payer's wallet. | No |
wallet.save | Boolean | Determines whether you want to receive a wallet token for future payments. | No |
wallet.capture | Boolean | Determines if you want to capture the payment funds or not. | No |
wallet.verify | Boolean | Used if you want to enroll the wallet and a token. | No |
wallet.username | String | Username of the payer's wallet account. | Yes |
wallet.email | String | Email of the payer's wallet account. | Yes |
wallet.token | String | Token of a previous payment from the same wallet. | For recurring payments, yes. |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 500,
"currency": "PHP",
"country": "PH",
"payment_method_id": "GW",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "janedoe@mymail.com",
"phone": "+628050976593",
"document": "123456789012",
"address": {
"country": "PH",
"state": "Manila",
"city": "Manila",
"zip_code": "88058",
"street": "Main St.",
"number": "5940"
}
},
"wallet": {
"name": "Jane Doe",
"save": true,
"capture": true,
"verify": false,
"username": "Jane2002",
"email": "janedoe@mymail.com",
"expiration": 60,
"label": "label",
"state": "state",
"token": ""
},
"order_id": "345453483kqws0",
"description": "Tshirt",
"callback_url": "http://merchantsite.com/notification/new",
"notification_url": "http://merchantsite.com/success_page"
}
{
"id": "F-4-44b12e48-d414-f5r5-8a86-91c7bcfca86b",
"amount": 500,
"currency": "PHP",
"payment_method_id": "GW",
"payment_method_type": "WALLET",
"payment_method_flow": "REDIRECT",
"country": "PH",
"created_date": "2023-02-15T14:32:37.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "345453483kqws0",
"description": "Tshirt",
"notification_url": "http://merchant.com/success_page",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-redirect/M-3b84b016-9o0s-4ba1-9cf7-3d53423f89f8"
}
Recurring Payments
Direct Debit product enables merchants to provide seamless payment flows for their customers and true auto-debit (subsequent payments without OTP) for recurring payments using wallets or bank accounts, reducing drop-off rates from customers.
Capabilities
Recurring Payments | |
---|---|
Max. expiration time supported | Depends on the provider. |
Notification delay | Immediate |
Refunds | Yes |
Flow | REDIRECT |
Supported wallets | GrabPay, ShopeePay, PayMaya, BPI, Union Bank. |
UX Flow
One-time authorization flow

The screenshots illustrate a generic Recurring Payment redirect flow. The specifics of the flow can change depending on the payment method selected to complete the transaction.
Request parameters
Property | Type | Description | Mandatory? |
---|---|---|---|
amount | Number | Amount to be charged. | Yes |
currency | String | PHP Transaction currency in ISO 4217. | Yes |
country | String | PH Transaction country in ISO 3166. | Yes |
payment_method_id | String | XU ID of the selected payment method. | Yes |
payment_method_flow | String | REDIRECT | Yes |
payer.name | String | Name of the payer. | Yes |
payer.email | String | Email of the payer. | Yes |
payer.document | Number | Document of the payer. | Yes |
payer.phone | Number | User's phone number. | Yes |
wallet.name | String | Name of the payer's wallet. | No |
wallet.save | Boolean | Determines whether you want to receive a wallet token for future payments. | No |
wallet.capture | Boolean | Determines if you want to capture the payment funds or not. | No |
wallet.username | String | Username of the payer's wallet account. | Yes |
wallet.email | String | Email of the payer's wallet account. | Yes |
wallet.token | String | Token of a previous payment from the same wallet. | For Recurring Payments, yes. |
order_id | Number | ID of the capture given by the merchant in their system. Think of it as an external id of the capture. | No |
notification_url | String | Notifications will be sent in every change of status of a payment to the notification_url specified by the merchant. | No |
Examples
{
"amount": 500,
"currency": "PHP",
"country": "PH",
"payment_method_id": "XU",
"payment_method_flow": "REDIRECT",
"payer": {
"name": "Jane Doe",
"email": "janedoe@mymail.com",
"phone": "+638050976593",
"document": "123456789012",
"address": {
"country": "PH",
"state": "Manila",
"city": "Manila",
"zip_code": "88058",
"street": "Main St.",
"number": "5940"
}
},
"wallet": {
"name": "Jane Doe",
"save": true,
"capture": true,
"username": "Jane2002",
"email": "janedoe@mymail.com",
"expiration": 60,
"label": "label",
"state": "state",
"token": ""
},
"order_id": "345453483kqws0",
"description": "Tshirt",
"callback_url": "http://merchantsite.com/notification/new",
"notification_url": "http://merchantsite.com/success_page"
}
{
"id": "F-4-3eeed8d5-69cb-4c40-34er-e5667f0804f0",
"amount": 500,
"currency": "PHP",
"payment_method_id": "XU",
"payment_method_type": "WALLET",
"payment_method_flow": "REDIRECT",
"country": "PH",
"created_date": "2023-02-15T14:04:38.000+0000",
"status": "PENDING",
"status_detail": "The payment is pending.",
"status_code": "100",
"order_id": "345453483kqws0",
"description": "Tshirt",
"notification_url": "http://merchant.com/success_page",
"redirect_url": "https://pay.dlocal.com/gmf-apm/payments-continue/M-61acbfe4-c53c-3e42-8968-0011de348568"
}
Static Virtual Account
Static Virtual Accounts (SVA) in the Philippines are fixed account numbers linked to specific merchants or customers, ideal for recurring payments and long-term relationships in B2B and B2C contexts. These accounts do not expire.
Customers can transfer funds from their bank accounts to Static Virtual Accounts using Instapay or PESONet.
Instapay allows real-time fund transfers up to Php50,000 per transaction, while PESONet has no maximum limit and posts transactions after the end of the business day.
Capabilities
Direct Debit | |
---|---|
Min. amount | 1 PHP |
Max. expiration time supported | No expiry |
Notification delay | Immediate |
Flow | REDIRECT |
How to process Static Virtual Account payments?
Learn how to process Static Virtual Accounts with dLocal in our Static Virtual Accounts section.
Updated 3 days ago