Mobile App - GCash
Accept GCash from your mobile app on your shopper’s Android or iOS phone.
Step 1. Initialize a Payment Intent
Create a Payment Intent with the Create a Payment Intent API API.
POST /api/v1/pa/payment_intents/create
Step 2. Obtain the payment URL
When a shopper selects to pay with GCash on their mobile app, call the Confirm a Payment Intent API to get a payment URL, which you can redirect the shopper to the GCash app to complete the payment.
POST /api/v1/pa/payment_intents/{id}/confirm
You will get a response similar to the following. Note that package_name
is only available for Android.
Step 3. Redirect to GCash App to complete payment
You can use the url
returned in the confirm Payment Intent response to redirect the shopper to the GCash app. Shoppers will complete payment in the GCash mobile app.
We recommend using the native method to check if the GCash app is installed. On success, try invoking it natively. If invocation fails or if GCash is not installed, switch to a WebView client to open the URL. The logic is illustrated by the following code sample:
Andriod
Specify the package name in the <queries>
tags of AndroidManifest.xml
to enable access to the corresponding app.
Redirect shoppers to the wallet app.
iOS
Redirect shoppers to the wallet app.
After the customer completes payment, GCash will redirect the customer to your app, as dictated by the scheme URL specified in your return URL in the Create a Payment Intent API request.
Step 4. Query the payment result status
To get the payment result, we suggest you poll the status of the Payment Intent via the Retrieve a Payment Intent API API. You may start polling the Payment Intent status after the shopper is redirected back to your mobile app, i.e., the return_url
passed when creating the Payment Intent.
GET /api/v1/pa/payment_intents/{id}
In addition, Airwallex will notify you of the payment result asynchronously via the webhooks. Please refer to the webhook documentation to set up your webhook accordingly. Although subscribing to webhook events is optional, it is recommended to subscribe to the payment_intent.succeeded
webhook which indicates that the shopper has paid the order.