Documentation Index
Fetch the complete documentation index at: https://docs.busha.io/llms.txt
Use this file to discover all available pages before exploring further.
This example shows you how to create and manage payment links for accepting crypto payments.
Use Cases
- E-commerce product checkout
- Invoice payments
- Donation campaigns
- Subscription billing
- Service payments
Reusable Payment Links
Reusable payment links can be used multiple times by different customers. They’re ideal for ongoing sales, subscriptions, or recurring donations.
Create a Fixed Amount Reusable Link
Create a payment link for a specific amount that can be used multiple times:
curl -X POST https://api.sandbox.busha.so/v1/payments/links \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"fixed": true,
"one_time": false,
"name": "Product Payment Example",
"title": "Buy Premium Package",
"description": "Payment for premium subscription",
"quote_amount": "10000",
"quote_currency": "NGN",
"target_currency": "USDT",
"require_extra_info": [
{
"field_name": "email",
"required": true
}
],
"dry_run": false
}'
Response:
{
"status": "success",
"message": "Payment link created successfully",
"data": {
"id": "YgFdIGWCWY3G",
"profile_id": "BUS_9rDAqqREdmMQcQj3zsRlL",
"fixed": true,
"one_time": false,
"name": "Product Payment Example",
"title": "Buy Premium Package",
"description": "Payment for premium subscription",
"quote_amount": "10000",
"quote_currency": "NGN",
"target_currency": "USDT",
"meta": {
"require_extra_info": [
{
"field_name": "email",
"required": true
}
]
},
"status": "active",
"created_at": "2025-10-30T11:29:42.842496434Z",
"updated_at": "2025-10-30T11:29:42.842496434Z",
"link": "YgFdIGWCWY3G"
}
}
Create a Variable Amount Reusable Link
Create a payment link where customers choose their own amount:
curl -X POST https://api.sandbox.busha.so/v1/payments/links \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"fixed": false,
"one_time": false,
"name": "Donation Link",
"title": "Support Our Project",
"description": "Donate any amount you wish",
"quote_currency": "NGN",
"target_currency": "USDT",
"require_extra_info": [
{
"field_name": "email",
"required": true
}
],
"dry_run": false
}'
Response:
{
"status": "success",
"message": "Payment link created successfully",
"data": {
"id": "AAuHvoU6NkKs",
"profile_id": "BUS_9rDAqqREdmMQcQj3zsRlL",
"fixed": false,
"one_time": false,
"name": "Donation Link",
"title": "Support Our Project",
"description": "Donate any amount you wish",
"quote_currency": "NGN",
"target_currency": "USDT",
"meta": {
"require_extra_info": [
{
"field_name": "email",
"required": true
}
]
},
"status": "active",
"created_at": "2025-10-30T11:30:29.223574773Z",
"updated_at": "2025-10-30T11:30:29.223574773Z",
"link": "AAuHvoU6NkKs"
}
}
One-Time Payment Links
One-time payment links are designed for single-use scenarios like invoices or unique transactions. Once paid, the link becomes inactive.
Create a One-Time Fixed Amount Link
curl -X POST https://api.sandbox.busha.so/v1/payments/links \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"fixed": true,
"one_time": true,
"name": "Invoice #12345",
"title": "Pay Invoice",
"description": "One-time invoice payment",
"quote_amount": "50000",
"quote_currency": "NGN",
"target_currency": "USDT",
"require_extra_info": [
{
"field_name": "email",
"required": true
}
]
}'
Response:
{
"status": "success",
"message": "Payment link created successfully",
"data": {
"id": "XyZ123AbC",
"profile_id": "BUS_9rDAqqREdmMQcQj3zsRlL",
"fixed": true,
"one_time": true,
"name": "Invoice #12345",
"title": "Pay Invoice",
"description": "One-time invoice payment",
"quote_amount": "50000",
"quote_currency": "NGN",
"target_currency": "USDT",
"meta": {
"require_extra_info": [
{
"field_name": "email",
"required": true
}
]
},
"status": "active",
"created_at": "2025-10-30T11:35:42.842496434Z",
"updated_at": "2025-10-30T11:35:42.842496434Z",
"link": "XyZ123AbC"
}
}
Retrieve a Payment Link
Get details of an existing payment link:
curl -X GET https://api.sandbox.busha.so/v1/payments/links/YgFdIGWCWY3G \
-H "Authorization: Bearer YOUR_SECRET_KEY"
Response:
{
"status": "success",
"message": "Payment link retrieved successfully",
"data": {
"id": "YgFdIGWCWY3G",
"profile_id": "BUS_9rDAqqREdmMQcQj3zsRlL",
"fixed": true,
"one_time": false,
"name": "Product Payment Example",
"title": "Buy Premium Package",
"description": "Payment for premium subscription",
"quote_amount": "10000",
"quote_currency": "NGN",
"target_currency": "USDT",
"meta": {
"require_extra_info": [
{
"field_name": "email",
"required": true
}
]
},
"status": "active",
"created_at": "2025-10-30T11:29:42.842496Z",
"updated_at": "2025-10-30T11:29:42.842496Z",
"link": "YgFdIGWCWY3G",
"pub_key": "pub_iSQAgqGFoVZOaVjYM8ZeW"
}
}
Update a Payment Link
Modify an existing payment link:
curl -X PATCH https://api.sandbox.busha.so/v1/payments/links/YgFdIGWCWY3G \
-H "Authorization: Bearer YOUR_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Product Payment",
"description": "Updated: Premium subscription - now 15,000 NGN",
"quote_amount": "15000"
}'
Response:
{
"status": "success",
"message": "Payment link updated successfully",
"data": {
"id": "YgFdIGWCWY3G",
"profile_id": "BUS_9rDAqqREdmMQcQj3zsRlL",
"fixed": true,
"one_time": false,
"name": "Updated Product Payment",
"title": "Buy Premium Package",
"description": "Updated: Premium subscription - now 15,000 NGN",
"quote_amount": "15000",
"quote_currency": "NGN",
"target_currency": "USDT",
"meta": {
"require_extra_info": [
{
"field_name": "email",
"required": true
}
]
},
"status": "active",
"created_at": "2025-10-30T11:29:42.842496Z",
"updated_at": "2025-10-30T11:33:05.58691Z",
"link": "YgFdIGWCWY3G"
}
}
Learn More