💳 XPAY Checkout Payment Gateway Integration
Easily collect payments via WhatsApp, Instagram, Facebook Messenger, or any other chatbot channels using the XPAY Checkout Mini App integrated with Rapidbott. This guide walks you through setting up the app, configuring your XPAY API key, and understanding the actions and fields used.
🚀 Overview
The XPAY Checkout Mini App enables:
One-time payment collection
Subscription payment handling
Refund processing
Subscription status checking
Cancelling active subscriptions
All payments are securely processed via your XPAY account, and payment links can be shared with customers via Rapidbott chatbots.
🔧 Installation Instructions
Login to your Rapidbott workspace.
Navigate to the Mini Apps section in the sidebar.
Click Install Mini App.
Search for XPAY Checkout.
Click Install.
During installation, you'll be prompted to enter your XPAY API key.
🔐 Requirements
To use this integration:
You must have a merchant account on XPAY: https://www.xpaycheckout.com/
You must generate an API Key from your XPAY dashboard.
This key will be stored in the
xpay_api_key
field during the app installation in Rapidbott.
💡 API Key Configuration
While installing the XPAY Checkout Mini App:
Paste your XPAY API Key into the required field.
This key will authenticate all API requests to XPAY on your behalf.
Ensure your key has access to payment, subscription, and refund scopes.
💰 Supported Currencies
XPAY supports a wide range of currencies. You must use valid ISO 4217 currency codes (like USD
, INR
, EUR
).
🔗 Check Supported Currencies on XPAY
🧩 Available Actions & Fields

1. create_one_time_payment
create_one_time_payment
Generate a payment link for a one-time transaction.
Required Fields:
amount
– Amount to charge in smallest currency unit (e.g., 4900 for $49.00)currency
– 3-letter currency code (e.g., INR, USD)customer_email
– Email ID of the customercustomer_name
– Full namedesc
– Short description of what the payment is fororderID
– Unique order identifier
Output: A payment link you can send to the user.
2. create_subscription
create_subscription
Create a recurring billing subscription link.
Required Fields:
amount
,currency
,customer_email
,customer_name
,desc
,orderID
interval
: Billing frequency unit – e.g.,month
,week
,day
intervalCount
: Number of units between billingscycleCount
: Total number of billing cycles
Example:
interval
:month
intervalCount
:1
cycleCount
:360
🧮 This means: 1 billing every month for 360 months = 30 years.
Output: A subscription payment link.
3. get_subscription
get_subscription
Fetches current details about an active subscription.
Required Field:
subscriptionId
– The subscription ID returned when the subscription was created.
Output: Status of the subscription, customer info, and billing details.
4. cancel_subscription
cancel_subscription
Purpose: Cancels an active subscription for a customer using the XPAY API.
Input Field Required:
subscriptionId
– The unique subscription ID assigned by XPAY.
How it works: This action sends a cancellation request to XPAY for the specified subscription. Once processed, the subscription will be terminated, and no further billing will occur.
Use Case: Use this when a customer decides to stop a recurring subscription (e.g., monthly memberships, SaaS plans, etc.).
Important: Make sure to confirm with the user before executing this action, as cancellations are typically irreversible.
5. refund
refund
Processes a refund for a payment that has already been completed.
Required Field:
xIntentId
– The intent ID from the original payment (returned by XPAY)
Output: Refund confirmation or error message.
📌 Field Summary
Field
Description
amount
Amount in smallest unit (e.g., 4900 = $49.00)
currency
3-letter currency code (e.g., INR, USD)
customer_name
Full name of the customer
customer_email
Email address of the customer
desc
Description of the payment
orderID
Unique order or receipt ID
interval
Time unit (day, week, month) for subscriptions
intervalCount
How many units per billing (e.g., every 2 months)
cycleCount
How many total cycles (e.g., 12 = 1 year monthly)
subscriptionId
Used to check subscription status
xIntentId
Used to process a refund
🟢 Example Use Case
You want to collect a monthly subscription of $49 for an online course:
amount
:4900
currency
:USD
interval
:month
intervalCount
:1
cycleCount
:12
→ Billed monthly for 1 year.
The payment link is sent over WhatsApp, the user pays, and you retrieve subscription status or refund using the provided actions.
🧠 Notes
XPAY API expects all amounts in the smallest currency unit.
Always validate user emails and order IDs before processing.
Refunds only work after payment has been successfully completed.
Currency limits and API scopes depend on your XPAY account configuration.
For further help, visit https://www.xpaycheckout.com/ or contact Rapidbott support.
✅ Final Checklist
You’re ready to collect payments using XPAY in your chatbot!
Last updated
Was this helpful?