Create a checkout
curl --request POST \
--url https://api.pay.flipeet.io/api/v1/transaction/initialize \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"amount": 25000,
"currency": "NGN"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: 25000, currency: 'NGN'})
};
fetch('https://api.pay.flipeet.io/api/v1/transaction/initialize', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pay.flipeet.io/api/v1/transaction/initialize"
payload = {
"amount": 25000,
"currency": "NGN"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"message": "Transaction initialized successfully",
"status": "success",
"statusCode": 201,
"data": {
"amount": 25000,
"currency": "NGN",
"checkoutUrl": "https://pay.flipeet.io/checkout?ref=fp_8f2k3m",
"payerEmail": "ada@example.com",
"memo": "Order #1042",
"mode": "live",
"reference": "order_1042",
"txRef": "fp_8f2k3m",
"theme": "light",
"status": "pending"
}
}{
"message": "Amount must be a positive number",
"status": "error",
"statusCode": 400,
"code": "invalid_request",
"details": {
"errors": [
"Amount must be a positive number"
]
},
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Invalid or inactive API key",
"status": "error",
"statusCode": 401,
"code": "authentication_failed",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Too many requests. Slow down and try again shortly.",
"status": "error",
"statusCode": 429,
"code": "rate_limited",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Internal server error",
"status": "error",
"statusCode": 500,
"code": "internal_error",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}Checkout
Create a checkout
Creates a payment in your currency and returns a checkoutUrl for a page we host. Your customer pays in USDC or USDT on the network they choose; we convert at the current rate when they pick a token.
Fulfil the order when you receive the checkout.completed webhook, not when the customer reaches your redirectUrl.
POST
/
api
/
v1
/
transaction
/
initialize
Create a checkout
curl --request POST \
--url https://api.pay.flipeet.io/api/v1/transaction/initialize \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"amount": 25000,
"currency": "NGN"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: 25000, currency: 'NGN'})
};
fetch('https://api.pay.flipeet.io/api/v1/transaction/initialize', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pay.flipeet.io/api/v1/transaction/initialize"
payload = {
"amount": 25000,
"currency": "NGN"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"message": "Transaction initialized successfully",
"status": "success",
"statusCode": 201,
"data": {
"amount": 25000,
"currency": "NGN",
"checkoutUrl": "https://pay.flipeet.io/checkout?ref=fp_8f2k3m",
"payerEmail": "ada@example.com",
"memo": "Order #1042",
"mode": "live",
"reference": "order_1042",
"txRef": "fp_8f2k3m",
"theme": "light",
"status": "pending"
}
}{
"message": "Amount must be a positive number",
"status": "error",
"statusCode": 400,
"code": "invalid_request",
"details": {
"errors": [
"Amount must be a positive number"
]
},
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Invalid or inactive API key",
"status": "error",
"statusCode": 401,
"code": "authentication_failed",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Too many requests. Slow down and try again shortly.",
"status": "error",
"statusCode": 429,
"code": "rate_limited",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}{
"message": "Internal server error",
"status": "error",
"statusCode": 500,
"code": "internal_error",
"details": null,
"requestId": "req_5f0c2a9b8d7e4c1f9a3b6d2e1c0f7a8b",
"timestamp": "2026-11-04T10:00:00.000Z"
}Authorizations
Body
application/json
