Page cover

💳 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

  1. Login to your Rapidbott workspace.

  2. Navigate to the Mini Apps section in the sidebar.

  3. Click Install Mini App.

  4. Search for XPAY Checkout.

  5. 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

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 customer

  • customer_name – Full name

  • desc – Short description of what the payment is for

  • orderID – Unique order identifier

Output: A payment link you can send to the user.


2. 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 billings

  • cycleCount: 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

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

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

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?