221 Pay API reference
Payments, payment links, refunds, payouts and balances, with a key scoped to payments.
Try it from this page
Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/balances"{ "gateway_mode": "simulated", "livemode": true, "rails": { "property1": { "available": "2500", "pending": "2500", "reserved": "2500" }, "property2": { "available": "2500", "pending": "2500", "reserved": "2500" } }}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/customers"{ "data": [ { "created_at": "2019-08-24T14:15:22Z", "email": "string", "id": "string", "livemode": true, "name": "string", "payments_count": 0, "phone": "string", "phone_country_code": "+221", "total_amount": "2500" } ], "livemode": true, "total_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/customers/string"{ "created_at": "2019-08-24T14:15:22Z", "email": "string", "id": "string", "livemode": true, "name": "string", "payments_count": 0, "phone": "string", "phone_country_code": "+221", "total_amount": "2500"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/disputes"{ "data": [ { "amount": "2500", "challenge_required_by": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "evidence": [ { "created_at": "2019-08-24T14:15:22Z", "evidence_type": "receipt", "file_name": "string", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "size": 0 } ], "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "is_already_refunded": true, "livemode": true, "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "project_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "not_received", "stage": "pre_dispute", "status": "opened", "updated_at": "2019-08-24T14:15:22Z" } ], "livemode": true, "total_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/disputes" \ -H "Content-Type: application/json" \ -d '{ "amount": "2500", "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "not_received" }'{ "amount": "2500", "challenge_required_by": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "evidence": [ { "created_at": "2019-08-24T14:15:22Z", "evidence_type": "receipt", "file_name": "string", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "size": 0 } ], "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "is_already_refunded": true, "livemode": true, "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "project_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "not_received", "stage": "pre_dispute", "status": "opened", "updated_at": "2019-08-24T14:15:22Z"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/disputes/string"{ "amount": "2500", "challenge_required_by": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "evidence": [ { "created_at": "2019-08-24T14:15:22Z", "evidence_type": "receipt", "file_name": "string", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "size": 0 } ], "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "is_already_refunded": true, "livemode": true, "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "project_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "not_received", "stage": "pre_dispute", "status": "opened", "updated_at": "2019-08-24T14:15:22Z"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/disputes/string/accept"{ "amount": "2500", "challenge_required_by": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "evidence": [ { "created_at": "2019-08-24T14:15:22Z", "evidence_type": "receipt", "file_name": "string", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "size": 0 } ], "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "is_already_refunded": true, "livemode": true, "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "project_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "not_received", "stage": "pre_dispute", "status": "opened", "updated_at": "2019-08-24T14:15:22Z"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/disputes/string/evidence" \ -H "Content-Type: application/json" \ -d '{ "file_ids": [ "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10" ] }'{ "amount": "2500", "challenge_required_by": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "evidence": [ { "created_at": "2019-08-24T14:15:22Z", "evidence_type": "receipt", "file_name": "string", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "size": 0 } ], "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "is_already_refunded": true, "livemode": true, "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "project_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "not_received", "stage": "pre_dispute", "status": "opened", "updated_at": "2019-08-24T14:15:22Z"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/disputes/string/evidence" \ -F evidence_type="receipt" \ -F file="string"{ "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/fees"{ "bank_max": 5000000, "bank_min": 200000, "bank_monthly_cap": 10000000, "bank_tiers": [ { "bps": 500, "from": 200000, "to": 499999 } ], "livemode": true}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/kyc/documents"{ "data": [ { "country": "SN", "documents": [ { "enabled": true, "type": "national_id" } ] } ], "livemode": true}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/kyc/sessions" \ -H "Content-Type: application/json" \ -d '{ "country": "SN", "document_type": "national_id" }'{ "captures": [ { "content_types": [ "string" ], "expires_at": "2019-08-24T14:15:22Z", "max_bytes": 0, "method": "string", "name": "front", "url": "http://example.com" } ], "expires_at": "2019-08-24T14:15:22Z", "handoff_url": "http://example.com", "livemode": true, "status": "pending", "submitted": true, "uploaded": [ "string" ], "verification_id": "string"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/kyc/sessions/uploads"{ "captures": [ { "content_types": [ "string" ], "expires_at": "2019-08-24T14:15:22Z", "max_bytes": 0, "method": "string", "name": "front", "url": "http://example.com" } ], "expires_at": "2019-08-24T14:15:22Z", "handoff_url": "http://example.com", "livemode": true, "status": "pending", "submitted": true, "uploaded": [ "string" ], "verification_id": "string"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/kyc/status"{ "country": "string", "document_type": "string", "livemode": true, "merchant_status": "pending", "reason_code": "string", "review_eta": "2019-08-24T14:15:22Z", "status": "not_started", "submitted": true, "uploaded": [ "string" ], "verification_id": "string", "withdrawals_blocked": true, "withdrawals_blocked_reason": "string"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/kyc/submit"{ "captures": [ { "content_types": [ "string" ], "expires_at": "2019-08-24T14:15:22Z", "max_bytes": 0, "method": "string", "name": "front", "url": "http://example.com" } ], "expires_at": "2019-08-24T14:15:22Z", "handoff_url": "http://example.com", "livemode": true, "status": "pending", "submitted": true, "uploaded": [ "string" ], "verification_id": "string"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/offers"{ "data": [ { "benefit": { "max_amount": "2500", "type": "percent", "value": "2500" }, "created_at": "2019-08-24T14:15:22Z", "description": "string", "end_time": "2019-08-24T14:15:22Z", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "max_order_amount": "2500", "min_order_amount": "2500", "offer_code": "string", "start_time": "2019-08-24T14:15:22Z", "status": "active", "title": "string", "usage_count": 0 } ], "livemode": true, "total_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/offers" \ -H "Content-Type: application/json" \ -d '{ "benefit": { "type": "percent", "value": "2500" }, "offer_code": "BIENVENUE", "title": "string" }'{ "benefit": { "max_amount": "2500", "type": "percent", "value": "2500" }, "created_at": "2019-08-24T14:15:22Z", "description": "string", "end_time": "2019-08-24T14:15:22Z", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "max_order_amount": "2500", "min_order_amount": "2500", "offer_code": "string", "start_time": "2019-08-24T14:15:22Z", "status": "active", "title": "string", "usage_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/offers/string"{ "benefit": { "max_amount": "2500", "type": "percent", "value": "2500" }, "created_at": "2019-08-24T14:15:22Z", "description": "string", "end_time": "2019-08-24T14:15:22Z", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "max_order_amount": "2500", "min_order_amount": "2500", "offer_code": "string", "start_time": "2019-08-24T14:15:22Z", "status": "active", "title": "string", "usage_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/offers/string"{ "benefit": { "max_amount": "2500", "type": "percent", "value": "2500" }, "created_at": "2019-08-24T14:15:22Z", "description": "string", "end_time": "2019-08-24T14:15:22Z", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "max_order_amount": "2500", "min_order_amount": "2500", "offer_code": "string", "start_time": "2019-08-24T14:15:22Z", "status": "active", "title": "string", "usage_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/offers/string/status" \ -H "Content-Type: application/json" \ -d '{ "status": "active" }'{ "benefit": { "max_amount": "2500", "type": "percent", "value": "2500" }, "created_at": "2019-08-24T14:15:22Z", "description": "string", "end_time": "2019-08-24T14:15:22Z", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "max_order_amount": "2500", "min_order_amount": "2500", "offer_code": "string", "start_time": "2019-08-24T14:15:22Z", "status": "active", "title": "string", "usage_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/payment-links"{ "data": [ { "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "description": "string", "expiry": "2019-08-24T14:15:22Z", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "link_to_pay": "http://example.com", "livemode": true, "status": "active" } ], "livemode": true, "total_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/payment-links" \ -H "Content-Type: application/json" \ -d '{ "amount": "2500", "description": "Abonnement de novembre" }'{ "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "description": "string", "expiry": "2019-08-24T14:15:22Z", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "link_to_pay": "http://example.com", "livemode": true, "status": "active"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/payment-links/string"{ "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "description": "string", "expiry": "2019-08-24T14:15:22Z", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "link_to_pay": "http://example.com", "livemode": true, "status": "active"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/payment-links/string/status" \ -H "Content-Type: application/json" \ -d '{ "status": "active" }'{ "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "description": "string", "expiry": "2019-08-24T14:15:22Z", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "link_to_pay": "http://example.com", "livemode": true, "status": "active"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/payments"{ "data": [ { "amount": "2500", "checkout_url": "http://example.com", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "discount_amount": "2500", "fee": "2500", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "merchant_reference": "string", "net": "2500", "next_action": { "deep_links": { "property1": "string", "property2": "string" }, "expires_at": "2019-08-24T14:15:22Z", "message": "string", "qr_code": "string", "type": "redirect", "url": "http://example.com" }, "offer_code": "string", "original_amount": "2500", "payment_link_description": "string", "rail": "sn_wave", "status": "created", "withdrawal_eligibility": "confirmed" } ], "livemode": true, "next_cursor": "string", "total_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Valeur unique par opération. Un renvoi avec la même valeur et le même corps rend le résultat déjà obtenu ; un corps différent donne IDEMPOTENCY_CONFLICT.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/payments" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "amount": "2500", "currency": "XOF", "merchant_reference": "CMD-2026-0042", "rail": "sn_wave", "return_url": "https://boutique.example.sn/merci" }'{ "amount": "2500", "checkout_url": "http://example.com", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "discount_amount": "2500", "fee": "2500", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "merchant_reference": "string", "net": "2500", "next_action": { "deep_links": { "property1": "string", "property2": "string" }, "expires_at": "2019-08-24T14:15:22Z", "message": "string", "qr_code": "string", "type": "redirect", "url": "http://example.com" }, "offer_code": "string", "original_amount": "2500", "payment_link_description": "string", "rail": "sn_wave", "status": "created", "withdrawal_eligibility": "confirmed"}curl -X GET "https://example.com/v1/payments/console"Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/payments/string"{ "amount": "2500", "attempts": [ { "amount": "2500", "error_code": "string", "error_message": "string", "id": "string", "status": "string" } ], "checkout_url": "http://example.com", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "customer": { "email": "string", "name": "string", "phone": "string" }, "discount_amount": "2500", "disputes": [ { "amount": "2500", "challenge_required_by": "2019-08-24T14:15:22Z", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "evidence": [ { "created_at": "2019-08-24T14:15:22Z", "evidence_type": "receipt", "file_name": "string", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "size": 0 } ], "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "is_already_refunded": true, "livemode": true, "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "project_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "not_received", "stage": "pre_dispute", "status": "opened", "updated_at": "2019-08-24T14:15:22Z" } ], "error_code": "string", "error_message": "string", "fee": "2500", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "merchant_reference": "string", "modified_at": "2019-08-24T14:15:22Z", "net": "2500", "next_action": { "deep_links": { "property1": "string", "property2": "string" }, "expires_at": "2019-08-24T14:15:22Z", "message": "string", "qr_code": "string", "type": "redirect", "url": "http://example.com" }, "offer_code": "string", "original_amount": "2500", "payment_link_description": "string", "rail": "sn_wave", "refunds": [ { "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "customer_receives": "2500", "fee": "2500", "fee_payer": "merchant", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "merchant_debited": "2500", "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "customer_request", "status": "requested", "updated_at": "2019-08-24T14:15:22Z" } ], "status": "created", "withdrawal_eligibility": "confirmed"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/payout-destinations"{ "data": [ { "available_at": "2019-08-24T14:15:22Z", "bank_code": "SN012", "holder_name": "string", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "phone_last_digits": "4567", "rail": "sn_wave", "rib_last4": "0185", "type": "mobile", "verification": { "attempts_left": 5, "expires_at": "2019-08-24T14:15:22Z" }, "verified": true } ], "livemode": true}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/payout-destinations" \ -H "Content-Type: application/json" \ -d '{}'{ "available_at": "2019-08-24T14:15:22Z", "bank_code": "SN012", "holder_name": "string", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "phone_last_digits": "4567", "rail": "sn_wave", "rib_last4": "0185", "type": "mobile", "verification": { "attempts_left": 5, "expires_at": "2019-08-24T14:15:22Z" }, "verified": true}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/payout-destinations/string"Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/payout-destinations/string/resend"{ "available_at": "2019-08-24T14:15:22Z", "bank_code": "SN012", "holder_name": "string", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "phone_last_digits": "4567", "rail": "sn_wave", "rib_last4": "0185", "type": "mobile", "verification": { "attempts_left": 5, "expires_at": "2019-08-24T14:15:22Z" }, "verified": true}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/payout-destinations/string/verify" \ -H "Content-Type: application/json" \ -d '{ "code": "123456" }'{ "available_at": "2019-08-24T14:15:22Z", "bank_code": "SN012", "holder_name": "string", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "phone_last_digits": "4567", "rail": "sn_wave", "rib_last4": "0185", "type": "mobile", "verification": { "attempts_left": 5, "expires_at": "2019-08-24T14:15:22Z" }, "verified": true}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/payout-quotes" \ -H "Content-Type: application/json" \ -d '{ "amount": "2500", "destination_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10" }'{ "amount": "2500", "debits": [ { "amount": "2500", "rail": "sn_wave" } ], "delay": "3-5 business days", "destination_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "destination_type": "bank", "expires_at": "2019-08-24T14:15:22Z", "fee": "2500", "fee_rate": 0, "livemode": true, "net": "2500", "quote_hash": "string", "rail": "sn_wave"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/payouts"{ "data": [ { "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "destination_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "destination_type": "mobile", "failure_reason": "destination_limit", "fee": "2500", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "net": "2500", "rail": "sn_wave", "release_at": "2019-08-24T14:15:22Z", "status": "processing" } ], "livemode": true}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Valeur unique par opération. Un renvoi avec la même valeur et le même corps rend le résultat déjà obtenu ; un corps différent donne IDEMPOTENCY_CONFLICT.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/payouts" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "quote_hash": "string" }'{ "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "destination_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "destination_type": "mobile", "failure_reason": "destination_limit", "fee": "2500", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "net": "2500", "rail": "sn_wave", "release_at": "2019-08-24T14:15:22Z", "status": "processing"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/payouts/string"{ "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "destination_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "destination_type": "mobile", "failure_reason": "destination_limit", "fee": "2500", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "net": "2500", "rail": "sn_wave", "release_at": "2019-08-24T14:15:22Z", "status": "processing"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/payouts/string/receipt"{ "amount": "2500", "destination_last_digits": "4567", "destination_type": "mobile", "fee": "2500", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "net": "2500", "rail": "sn_wave", "rail_label": "Wave", "succeeded_at": "2019-08-24T14:15:22Z"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/rails"{ "currency": "XOF", "data": [ { "country": "SN", "country_label": "Sénégal", "enabled_for_project": true, "fees": { "collection_bps": 0, "example_10000": { "amount": "2500", "collection_fee": "2500", "refund_fee": "2500", "withdrawal_fee": "2500" }, "refund_bps": 0, "withdrawal_bps": 0 }, "label": "Wave", "livemode": true, "min_amount": "2500", "operator": "wave", "operator_label": "Wave", "otp_required": true, "platform_state": "open", "rail": "sn_wave" } ], "livemode": true}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/rails/string/enabled" \ -H "Content-Type: application/json" \ -d '{ "enabled": true }'{ "country": "SN", "country_label": "Sénégal", "enabled_for_project": true, "fees": { "collection_bps": 0, "example_10000": { "amount": "2500", "collection_fee": "2500", "refund_fee": "2500", "withdrawal_fee": "2500" }, "refund_bps": 0, "withdrawal_bps": 0 }, "label": "Wave", "livemode": true, "min_amount": "2500", "operator": "wave", "operator_label": "Wave", "otp_required": true, "platform_state": "open", "rail": "sn_wave"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/refund-quotes" \ -H "Content-Type: application/json" \ -d '{ "amount": "2500", "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10" }'{ "amount": "2500", "customer_receives": "2500", "expires_at": "2019-08-24T14:15:22Z", "fee": "2500", "fee_payer": "merchant", "livemode": true, "merchant_debited": "2500", "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "quote_hash": "string"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/refunds"{ "data": [ { "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "customer_receives": "2500", "fee": "2500", "fee_payer": "merchant", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "merchant_debited": "2500", "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "customer_request", "status": "requested", "updated_at": "2019-08-24T14:15:22Z" } ], "livemode": true, "total_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Valeur unique par opération. Un renvoi avec la même valeur et le même corps rend le résultat déjà obtenu ; un corps différent donne IDEMPOTENCY_CONFLICT.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/refunds" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "amount": "2500", "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "quote_hash": "string", "reason": "customer_request" }'{ "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "customer_receives": "2500", "fee": "2500", "fee_payer": "merchant", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "merchant_debited": "2500", "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "customer_request", "status": "requested", "updated_at": "2019-08-24T14:15:22Z"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/refunds/string"{ "amount": "2500", "created_at": "2019-08-24T14:15:22Z", "currency": "XOF", "customer_receives": "2500", "fee": "2500", "fee_payer": "merchant", "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "livemode": true, "merchant_debited": "2500", "payment_id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "reason": "customer_request", "status": "requested", "updated_at": "2019-08-24T14:15:22Z"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/settings"{ "livemode": true, "rails_enabled": [ "sn_wave" ], "rate_limit_per_minute": 0, "refund_fee_payer_default": "merchant"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/settings" \ -H "Content-Type: application/json" \ -d '{ "refund_fee_payer_default": "merchant" }'{ "livemode": true, "rails_enabled": [ "sn_wave" ], "rate_limit_per_minute": 0, "refund_fee_payer_default": "merchant"}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/webhook-events"{ "events": [ { "created_at": "2019-08-24T14:15:22Z", "event_class": "payments", "id": "evt_0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "initial_attempt_id": "string", "is_delivery_successful": true, "merchant_id": "string", "object_id": "string", "type": "payment.succeeded" } ], "livemode": true, "total_count": 0}Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/webhook-events/string/attempts"[ { "created_at": "2019-08-24T14:15:22Z", "delivery_attempt": 0, "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "is_delivery_successful": true, "livemode": true, "request": { "body": null, "headers": null }, "response": { "body": null, "error_message": "string", "headers": null, "status_code": 0 } }]Clé API d'un projet : en-tête Authorization: Bearer sk_221_pay_test_… (ou sk_221_pay_live_…).
In: header
Path Parameters
Query Parameters
Header Parameters
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/webhook-events/string/retry"{ "created_at": "2019-08-24T14:15:22Z", "delivery_attempt": 0, "id": "0d8f6c1e-3b0a-4c58-9a57-2f1f0f4b8f10", "is_delivery_successful": true, "livemode": true, "request": { "body": null, "headers": null }, "response": { "body": null, "error_message": "string", "headers": null, "status_code": 0 }}