Tokenization Payment
{% raw %}
/v3/recurring-paymentWhat is this?
Tokenization replaces sensitive card data (PAN) with a secure token. Within the RM API, tokenization enables two use cases:
- Recurring Payment — automatically charge a customer's card on a schedule (weekly, monthly, etc.)
- Tokenized Payment — store card details once, then charge on your own terms (for merchants with their own recurring engine)
When to Use
Use tokenization when you:
- Need to charge customers on a recurring basis (subscriptions, instalments)
- Want to offer flexible, on-demand charges without storing card details
- Are building a micromobility or other pay-per-use service
How to Use
Step 1: Create a Customer
Create a customer by sending their details and redirect URL. The customer is redirected to bind their card.
Step 2: Customer Binds Their Card
The customer completes card binding on the RM-hosted page. After binding, they are redirected back to your redirectUrl.
Step 3: Handle the Redirect
The redirect includes status and customerId. If status is "SUCCESS", the customer is ready for payments.
Step 4: For Recurring — Set Up Your Recurring Engine
For Recurring Payment, charges happen automatically based on your schedule. For Tokenized Payment, you call the Create Customer Order API to charge on demand.
Tokenization: Recurring Payment
Recurring payment lets you automatically charge a customer's card based on a defined schedule.
Create Recurring Customer
Request Parameters
Revenue Monster Store ID
Customer email address
Customer name
Customer country code
Example: "60"
Customer phone number
Recurring product name
Recurring product description
Recurring payment currency
Example: "MYR"
Recurring payment amount in smallest currency unit
URL to redirect the customer to after card binding
Server URL to receive payment notifications
Recurring interval (WEEKLY, MONTHLY)
Day of the week or month to charge. See recurring target rules below.
Number of times to charge the customer
Recurring Target Rules:
| Interval | Target | Payment Behaviour |
|---|---|---|
WEEKLY | 0 | Every Sunday |
WEEKLY | 1 | Every Monday |
WEEKLY | 2 | Every Tuesday |
WEEKLY | 3 | Every Wednesday |
WEEKLY | 4 | Every Thursday |
WEEKLY | 5 | Every Friday |
WEEKLY | 6 | Every Saturday |
MONTHLY | -1 | End of every month |
MONTHLY | 0 | Start of every month |
MONTHLY | 1–28 | Day of the month |
1{2 "storeId": "1602660043994159611",3 "email": "oska.ng@revenuemonster.my",4 "name": "Oska Ng OpenAPI",5 "countryCode": "60",6 "phoneNumber": "187824152",7 "currency": "MYR",8 "amount": 120,9 "redirectUrl": "https://google.com",10 "notifyUrl": "https://google.com",11 "productName": "Some Product Name",12 "productDescription": "Some Product productDescription",13 "recurringInterval": "WEEKLY",14 "recurringTarget": "1",15 "recurringRepetition": 1016}
Response Parameters
Recurring payment ID
Merchant ID
Store ID
Customer card: front six and last four digits
Customer email
Customer country code
Customer phone number
Recurring product name
Recurring product description
Whether the recurring payment is active. Becomes true after card is bound successfully.
Recurring created date time
Recurring last updated date time
Internal usage only
URL for customer to redirect after card binding
URL for payment notifications
URL for customer to bind their card
Recurring payment amount
Recurring payment currency
Recurring interval
Recurring target rules
Number of repetitions
"SUCCESS" if the request succeeded, otherwise an error code.
Error code if the request failed.
Error message if the request failed.
Debug message (sandbox only).
Redirect Response
The redirect URL brings the customer back to your page after card binding. It can be any URL type (deep link, browser URL, server URL).
Method: GET
Card bind status
Card bind customer ID. Use this for subsequent API calls.
Card bind failure reason
Notify Response
Notify URL informs your server when a recurring payment is made. Notify is only called on success — fail and refund do not trigger a notify. Use Query Transaction for full transaction details.
Method: GET
Notify event type
Recurring payment amount
Recurring order currency
Recurring customer country code
Recurring customer phone number
Recurring customer ID
Recurring customer email
Recurring customer name
Merchant ID
Store ID
Recurring transaction order ID
Recurring order status
Recurring order created date time
Recurring order updated date time
Tokenization: Tokenized Payment
Tokenized payment lets customers bind their card once, then you charge on your own schedule using your own recurring engine.
Create Tokenized Customer
Request Parameters
Revenue Monster Store ID
Customer email address
Customer name
Customer country code
Customer phone number
Tokenized product name
Tokenized product description
URL to redirect the customer to after card binding
1{2 "storeId": "1602660043994159611",3 "email": "oska.ng@revenuemonster.my",4 "name": "Oska Ng OpenAPI",5 "countryCode": "60",6 "phoneNumber": "187824152",7 "redirectUrl": "https://google.com",8 "productName": "Card Tokenized Binding",9 "productDescription": "Some description for card tokenized"10}
Response Parameters
Recurring payment ID
Merchant ID
Store ID
Customer card: front six and last four digits
Customer email
Customer country code
Customer phone number
Tokenized product name
Tokenized product description
Whether the token is active. Becomes true after card is bound successfully.
Created date time
Last updated date time
Internal usage only
URL for customer to redirect after card binding
URL for payment notifications
URL for customer to bind their card
"SUCCESS" if the request succeeded, otherwise an error code.
Error code if the request failed.
Error message if the request failed.
Debug message (sandbox only).
Redirect Response
The redirect URL brings the customer back to your page after card binding.
Method: GET
Card bind status
Card bind customer ID
Card bind failure reason
Tokenization Customer API
These APIs work for both Recurring Payment and Tokenized Payment customers.
These APIs are only available after a customer has bound their card at least once.
Get Customer Info
Request Parameters
Customer ID returned from Create Recurring Customer or Create Tokenized Customer
Response Parameters
Recurring payment ID
Merchant ID
Store ID
Customer card: front six and last four digits
Customer email
Customer country code
Customer phone number
Product name
Product description
Whether the token is active
Created date time
Last updated date time
Internal usage only
Redirect URL
Notify URL
Card binding URL
Recurring payment amount
Recurring payment currency
Recurring interval
Recurring target rules
Number of repetitions
"SUCCESS" if the request succeeded, otherwise an error code.
Error code if the request failed.
Error message if the request failed.
Debug message (sandbox only).
Get Customer Orders
Request Parameters
Customer ID returned from Create Recurring Customer or Create Tokenized Customer
Response Parameters
List of recurring order records
"SUCCESS" if the request succeeded, otherwise an error code.
Error code if the request failed.
Error message if the request failed.
Debug message (sandbox only).
Order record (items[*]):
Recurring order ID
Merchant ID
Store ID
Customer ID
Transaction ID
Order created date time
Order last updated date time
Order payment amount
Order currency
Toggle Customer Status
Request Parameters
Customer ID returned from Create Recurring Customer or Create Tokenized Customer
Response Parameters
Recurring payment ID
Merchant ID
Store ID
Customer card: front six and last four digits
Customer email
Customer country code
Customer phone number
Product name
Product description
Whether the token is active
Created date time
Last updated date time
Internal usage only
Redirect URL
Notify URL
Card binding URL
Recurring payment amount
Recurring payment currency
Recurring interval
Recurring target rules
Number of repetitions
"SUCCESS" if the request succeeded, otherwise an error code.
Error code if the request failed.
Error message if the request failed.
Debug message (sandbox only).
Create Customer Order (Payment)
This API uses the customer's bound card to make a payment — it is not a manual order creation. The charge is applied to the stored token.
Request Parameters
Customer ID returned from Create Recurring Customer or Create Tokenized Customer
Payment currency
Payment amount in smallest currency unit
Payment information title
Payment information description
1{2 "currency": "MYR",3 "amount": 100,4 "title": "Some order title",5 "description": "Some order description"6}
Response Parameters
Transaction response object
"SUCCESS" if the payment succeeded, otherwise an error code.
Error code if the request failed.
Error message if the request failed.
Debug message (sandbox only).
{% endraw %}