Adyen is a global payment technology company founded in 2006 in Amsterdam, Netherlands. The company provides a single platform for accepting payments across online, mobile, and in-store channels for major enterprises worldwide including Uber, Spotify, and Microsoft. GCash is the leading mobile wallet in the Philippines. It allows buyers to pay using their GCash account balance, linked bank cards, and other funding sources. GCash supports one-time payments and recurring billing through its tokenization scheme.Documentation Index
Fetch the complete documentation index at: https://docs.gr4vy.com/llms.txt
Use this file to discover all available pages before exploring further.
Setup
Please follow the common Adyen instructions to get set up with GCash. Next, make sure to enable GCash as a payment method on your configured account.Supported countries
Adyen supports transactions from buyers inPH.
Supported currencies
Adyen supports processing payments inPHP.
Integration
For GCash, the default integration for Adyen is through a redirect to a hosted payments page.Redirect integration
Start by creating a new transaction with the following required fields.payment_method.approval_url and the buyer_approval_pending status.
approval_url so they can complete authentication and approve the payment. After approval the buyer is redirected to the redirect_url you provided when creating the transaction. Do not rely solely on the redirect - either poll the transaction or (recommended) rely on webhooks to detect the final status (for example capture_succeeded or failure states).
Direct integration
Adyen provides web, Android and iOS SDKs for a direct integration. For these flows you should indicate the platform by setting an appropriateintegration_client when creating the transaction, and then build a client-side integration that uses the POST /transactions/:transaction_id/session API to initialize the Adyen SDK.
To start, create a new transaction with the appropriate integration_client.
integration_client to ios or android and use your app deep link for redirect_url (for example, yourapp://).
After the transaction is created, the API response includes a session_token which can be used to get the session data for that transaction.
sessionId and sessionData required to load the Adyen SDK.
Complete the transaction
Recommended On mobile integrations, after the buyer completes the payment flow, the Adyen SDK provides the developer with anonFinished call, which includes a statusCode.
The system automatically syncs the status through webhooks, but to complete the transaction it is also recommended sending a GET request to the default_completion_url provided in the session response with the sessionId and the sessionResult as query parameters to finalize the transaction. This also moves the transaction to a completed status without waiting for the webhook to be sent.
The call returns a 204 No Content response. After receiving this response, you can also optionally fetch the transaction to confirm final status.
Recurring transactions
The Adyen GCash connector supports tokenized recurring payments. After a buyer authorizes the initial payment and their GCash wallet is stored, subsequent merchant-initiated charges are sent directly to Adyen using the stored payment method — no second redirect is required.Enrollment
To enroll a buyer in recurring transactions, create an initial transaction with tokenization enabled.- Set
storetotrueto save the payment method after the buyer approves.
approval_url to complete the GCash authorization flow. After the buyer approves, Adyen delivers the stored payment method token through a recurring.token.created webhook. Rely on webhooks rather than the redirect to confirm that the token is ready for subsequent charges.
Subsequent payment
After the payment method is stored, create each recurring charge using the saved payment method ID. Gr4vy routes the charge directly to Adyen without requiring a buyer redirect.- Set
payment_method.methodtoidand pass the saved payment method ID. - Set
payment_sourcetorecurring. - Set
merchant_initiatedandis_subsequent_paymenttotrue.