eSIM Purchase
To facilitate development and debugging, we provide a test interface for balance payment debugging. All data returned by the test interface is mock data (sn, lpa, iccid, number, verifyCode, etc. are random/fixed samples); it will not actually deduct balance, create real orders, or occupy inventory, nor send a real eSIM or trigger callback notifications. Please ensure you use the production interface for actual deployment.

Test Interface:https://api.bigesim.com/api/payTest

Production Interface:https://api.bigesim.com/api/pay

Request Interface
Request Headers
Field Name Field Value Action
+ Add Field
Request Parameters (Params)
Field Name Field Value Action
+ Add Field

* Token can be used in either Request Headers or Request Parameters (Params)

Response Data
{ "status": true, "code": 0, "msg": "订单生成成功", "data": { "sn": "231013169", "clientOrderNo": "your-order-no-001", "verifyCode": "123456", "currency": "USD", "categoryId": 31, "consumption": 5, "carrier": "中国移动CMHK", "brand": "CMLink", "lpa": "LPA:1$xxx.prod.xxxxxxxxxxx.com$TEST1234569868", "iccid": "89852070322460401234", "number": "86866878", "balance": 77, "activationStatus": "activated", "qrcode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG8AAABvAQMAAADYCwwjAAAABlBMVEX///8AAABVwtN+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABHElEQVQ4jdXUsY3FIAwGYD9R0CULIGUNOq+ULJCQBZKV6LKGJRbIdRQIn/Pe6d41F9M+lOYrQMb+CcAnrp45eAA0zKSyA7NGN8UUoIGYNjvsMe25iWtMJ5pm0txIMAHT158ibyj33XyS7/f6N7y2W2nOu5k37DNXKFN89lMlw3KUR0wVdIJNAQnQzZ5U9pGWXEaEhUElgPTcLZH6JrqJDQtjC5nzENBU1NnnMvFwWje+ZnRLyWrwNGXqWghuxmum+6Gzs+aU0EpzMqh8XAkpMv0ZdXZe3pc5PVer8xUAsNJJUvlMrJvtzyu7p7wFqX/01PkG4rVLTqjQxGDL6M1+QAs3K9mmx/tH8T+lKuCKElqdUs9+mJWHDXR+3voG0+/cX8m0/MsAAAAASUVORK5CYII=" } }
Request Field Descriptions
Field Type Description
token string

Access token/signaling used for API authentication

categoryId number

eSIM Type ID

memberCategoryId number

Publisher Pricing ID (Optional, corresponds to the id in memberCategoryList of the product API; defaults to the cheapest publisher in this category if not provided; will NOT search for other suppliers if the specified ID does not exist)

uploadMemberCode string

Publisher code (optional, corresponds to code in uploadMemberData of product API, i.e. encoded uploader ID; when provided, prioritizes this publisher's product; if no product is available from this publisher, automatically searches for the lowest price from other suppliers in the category)

notifyUrl string

Callback URL (Optional, HTTP/HTTPS only; system will POST a notification upon successful eSIM activation, see documentation for details)

clientOrderNo string

Client order number (optional, max 64 chars; echoed back verbatim in both the order response and the activation callback, so the caller can correlate with their own order without keeping a single HTTP connection open)

Order idempotency: within the same account, repeated or concurrent submissions with the same clientOrderNo create only one order and are charged once; subsequent submissions return the existing order directly. If clientOrderNo is not provided, this restriction does not apply and each submission creates a new order.

maxAmount number

Maximum accepted amount (optional, in USD; only the amount is passed without a currency, and the system purchase pricing and deductions are all in USD).

When set: if the automatically matched purchase price (when no publisher is specified, the price after switching to the lowest-price publisher) exceeds this ceiling, the order is rejected immediately with no charge and returns code=4012; if not set or 0, no ceiling is applied. The price will still automatically switch to the lowest-price publisher.

Response Field Descriptions
Field Type Description
status boolean

【Request Status】

true - Success

false - Request Failed

code number

【Status Code】

0 - Order created successfully

203 - Order Already Exists

202 - An order with this clientOrderNo is being processed, please query later

4001 - Insufficient Balance

4002 - Insufficient eSIM Inventory

4012 - Purchase price exceeds the maximum accepted amount (maxAmount passed and price over the ceiling; no charge)

4003 - Token Has No Corresponding User

4004 - Invalid parameter

4007 - Type Does Not Exist

4009 - IP Not in Whitelist, or Order Charging / eSIM Activation Failed

4013 - Requests too frequent, please try again later (each member defaults to 60 requests/minute)

40111 - Account Not Verified, API Access Not Allowed

msg string

【Request Description】

data object

【Request Data】

sn - Order No.

clientOrderNo - Client order number (echoes back the clientOrderNo sent by the caller; omitted if not provided)

currency - Currency Type

categoryId - eSIM Type ID

consumption - Balance Consumed for This Order

carrier - Carrier

brand - Brand

balance - Remaining Balance of the Account Corresponding to Token


activationStatus - eSIM Activation Status (activated: active, returns SIM info; activating: in progress, no SIM info returned. If notifyUrl is provided, await the callback upon completion; otherwise, query the order details later.)


lpa - eSIM Configuration (Used to generate QR code)

iccid - eSIM Card ICCID

number - eSIM Card Number

qrcode - eSIM Configuration QR Code (base64 format)

verifyCode - eSIM Configuration Authentication Code


Note: eSIM activation may not be real-time. If status is "activating", SIM details (verifyCode, lpa, number, qrcode) will be omitted.

Note: By providing a notifyUrl, the system will POST a notification upon successful activation, avoiding frequent polling. If status is "activating", please await the callback (see documentation). Without a notifyUrl, please query the order details API later to retrieve SIM info.

The qrcode field is in base64 image format and can be used directly as an image source URL

<img src="data:image/png;base64,iVBORw0...SuQmCC" alt="" width="240" height="240">