Référence API/Liens de retrait : payer un téléphone ou un e-mail
Liens de retrait : payer un téléphone ou un e-mail
Envoyez à quelqu’un sans compte bancaire, sans portefeuille et sans compte Decaf. Les fonds sont retenus jusqu’à ce que le bénéficiaire ouvre le lien, vérifie son numéro et choisisse comment recevoir parmi les méthodes disponibles dans son pays. Le paiement passe de awaiting_claim à claimed puis succeeded ; les liens non réclamés reviennent sur votre solde. La vérification de recevabilité indique avant l’envoi si une personne dans ce pays peut être payée.
Create a payout
/payoutsOne transfer to one recipient on one channel. Pass a saved recipient_id or an inline recipient. Either source_amount or destination_amount. quote_id is optional; without it the payout is priced at execution.
Paramètres
Idempotency-Keyheaderstringfacultatif
| Champ | Type | obligatoire | Notes |
|---|---|---|---|
| recipient_id | string | facultatif | |
| recipient | InlineRecipient | facultatif | |
| channel | string | obligatoire | |
| quote_id | string | facultatif | |
| source_amount | Amount | facultatif | Decimal string. Up to two decimals for fiat, six for USDC. |
| destination_amount | Amount | facultatif | Decimal string. Up to two decimals for fiat, six for USDC. |
| reference | string | facultatif | |
| memo | string | facultatif | Travels with the payment where the rail supports it. |
| message | string | facultatif | Claim links only. Shown to the recipient. |
Requête
{
"recipient_id": "rcp_9d1a",
"channel": "spei_mxn",
"quote_id": "qt_5m2n",
"source_amount": "1000.00",
"reference": "INV-2026-0912",
"memo": "Freight, week 37"
}Réponse 201
{
"id": "po_1b7e",
"status": "submitted",
"channel": "spei_mxn",
"recipient_id": "rcp_9d1a",
"source_amount": "1000.00",
"source_currency": "USDC",
"destination_amount": "16865.35",
"destination_currency": "MXN",
"rate": "16.86535",
"fees": {
"provider": "0.50",
"decaf": "5.00",
"total": "5.50",
"currency": "USDC"
},
"reference": "INV-2026-0912",
"estimated_arrival": "2026-09-16T15:20:00Z",
"provider_reference": null,
"attempts": 1,
"created_at": "2026-09-16T15:01:12Z"
}Erreurs: 400 validation_error, channel_unavailable, amount_out_of_range; 402 insufficient_balance; 409 idempotency_conflict; 410 quote_expired
Exemples: Create a payout
curl -X POST https://sandbox.api.decaf.so/v1/payouts \
-H "Authorization: Bearer $DECAF_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"recipient_id":"rcp_9d1a","channel":"spei_mxn","quote_id":"qt_5m2n","source_amount":"1000.00","reference":"INV-2026-0912","memo":"Freight, week 37"}'Check whether a phone or email can receive
/recipients/checkSays before sending whether a person in that country can receive, and by which methods.
Paramètres
typequeryenum: phone, emailobligatoirenumberquerystringfacultatifaddressquerystringfacultatif
Réponse 200
{
"receivable": true,
"country": "MX",
"methods": [
"spei_bank",
"decaf_wallet"
],
"kyc_required_for": [
"spei_bank"
]
}Obtenir l’accès
Développez sur le sandbox dès cette semaine.
Dites-nous les corridors dont vous avez besoin et qui vous payez. Les clés sandbox sont délivrées par une personne.