New Checkout

Checkout generates a secure, Finmo-hosted payment page that facilitates the collection of payments via local methods such as bank transfers, cards, direct debit, and wallets swiftly. It functions seamlessly across devices, potentially boosting your conversion rates.

Checkout simplifies the process of creating an optimal payment experience:

  • Designed to minimize friction

  • Mobile-ready

  • Supports multiple global payment methods

  • White Label – Customize by adding logo, support details, and payment instructions specific to the payment method

  • Customizable buttons and background color

Optimizing the Checkout Experience

Step 1: Determine the time frame for the customers to complete the payment and set an expiration date-time. Typically, if the payment method supports expiration, it will share the same date-time. For example, PayID in Australia usually expires within 24 hours.

Step 2: Decide on offering specific payment methods, an entire set, or just a category to the customer. This can be managed using include & exclude options. Categories refer to types of payment methods like Bank, E-Wallet, Card, etc.

Step 3: Choose how the Checkout completion should work, i.e., if the user be redirected to a single URL or multiple URLs. The field called REDIRECT_URL stands for a common redirect URL. The status message can be handled based on the parameters provided in the REDIRECT_URL.

Alternatively, four different or identical URLs can also be provided under ADVANCED_REDIRECT_URL, allowing the capability to display the appropriate status message based on events on the checkout page.

Step 4: Customers can be notified about the checkout link via email or SMS. Finmo will send them the link to pay the invoice amount through the checkout link.

Checkout Status & Webhook Notifications

Finmo will notify about any status updates of the Checkout object via webhooks. Static webhook listener URL can also be configured via the dashboard or a dynamic webhook URL can be sent in the Create Checkout request.

  • CHECKOUT_CREATED: Triggered when a Checkout page is created. The Checkout status will be CREATED.

  • PAYIN_CREATED: Triggered once the customer selects the payment method on the Checkout page and submits. This webhook includes the CHECKOUT_ID to link the payment to the customer. The Checkout status remains CREATED, while the payment status updates to PENDING.

  • CHECKOUT_COMPLETED and PAYIN_COMPLETED: Triggered once the consumer makes the payment. Both the Checkout and Payment status updates to COMPLETED.

  • CHECKOUT_EXPIRED and PAYIN_EXPIRED: Triggered if the Checkout page expires. Both the Checkout and payment status updates to EXPIRED.

  • CHECKOUT_CANCELLED: Triggered if the consumer cancels the Checkout page. If the payment method is_cancellable = true, the payment will also be cancelled. Both the Checkout and payment status updates to CANCELLED.

Creating a Checkout Page

Create a checkout page that builds a Payin. This method can be used without requiring PCI certification.

Body Params
int32
required

Transaction amount. The number of decimal place will be different for each currency according to ISO 4217

amount_breakdown
object

List of items that sum up together to match 'amount'. Example: { 'laptop': 2000, 'taxes': 100 }

string
required

Transaction currency

string
required

Merchant country code. ISO 3166-1, 2-char alphabetic code

uri
required

The link that the page will be redirected to after transaction. Either advanced_redirect_url or redirect_url should be present

advanced_redirect_url
object

The link that the page will be redirected in the different cases. Either advanced_redirect_url or redirect_url should be present

string

Transaction Description

include_category
array of strings

Category to include for the transaction (For e.g. BANK, EWALLET, CARD etc) Currently only 'BANK' and 'EWALLET' are supported

include_category
exclude_category
array of strings

Category to exclude for the transaction (For e.g. BANK, EWALLET, CARD etc) Currently only 'BANK' and 'EWALLET' are supported If the include_category parameter is present then this parameter will not be considered

exclude_category
include_payin_method
array of strings

Payin-Method to be included for the transaction

include_payin_method
exclude_payin_method
array of strings

Payin-Method to be excluded for the transaction If the include_payin_method parameter is present then this parameter will not be considered

exclude_payin_method
string

Provide the Wallet ID where the funds are to be credited. If no wallet id is provided, we assume its the Organization Payin wallet

string

Customer reference (customer_*)

string

Fees Wallet ID (wallet_*)

string

A reference you can later use to identify this payment, such as an order number. Can only be alphanumeric and must be unique for Benefit.

string

Email to recieve the checkout link

string

Country code of the mobile number to receive the checkout link

string

Mobile Number to receive the checkout link without the country code

int32

Epoch timestamp at which the payment expires

metadata
object

Custom Data

string

Provide an email if you would like to send a receipt to your customer or yourself after the payin or refund is successfully completed

uri

Dynamic webhook URL of the transaction otherwise the one configured on the dashboard would be used

string

Name of payin method

payin_method_param
object

Required parameters of payin method

string

Type of payin

recurring_payin
object

Configuration for recurring payments

capture_config
object

Configuration for payment capture

tnc_and_policies_url
object

Configure links to your legal policies so customers can review them before completing the payment.

Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/json; charset=utf-8