collections
Utilisez une collecte pour demander un paiement à un client final. Le marchand authentifié doit disposer du service de collecte et transfert activé. Si une liste blanche d’adresses IP est activée pour ce service marchand, l’adresse IP source doit également être enregistrée.
POST /api/v1/payment/collections/request HTTP/1.1
Host: api.example.com
Authorization: Bearer <access-token>
Accept: application/json
Content-Type: application/json
{
"amount": "2500.00",
"transRef": "COL-20260810-000001",
"msisdn": "2348012345678",
"operatorId": "SAYSWITCH",
"countryCode": "NG",
"currencyCode": "NGN",
"firstName": "Ada",
"lastName": "Okafor",
"customerEmail": "ada@example.com"
}curl --request POST "https://api.example.com/api/v1/payment/collections/request" \
--header "Authorization: Bearer ${QOS_ACCESS_TOKEN}" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--data '{
"amount": "2500.00",
"transRef": "COL-20260810-000001",
"msisdn": "2348012345678",
"operatorId": "NGPAY",
"countryCode": "234",
"currencyCode": "NGN",
"firstName": "Ada",
"lastName": "Okafor",
"customerEmail": "ada@example.com"
}'Champs de la requête
amount
Oui
Montant décimal positif exprimé sous forme de chaîne. N’incluez ni séparateur de milliers ni symbole de devise.
transRef
Oui
Référence de transaction unique générée par le marchand. Ne la réutilisez jamais.
msisdn
Oui
Numéro de téléphone mobile du client dans le format attendu par l’opérateur sélectionné.
operatorId
Oui
Opérateur retourné par la découverte.
countryCode
Oui
Pays retourné par la découverte.
currencyCode
Oui
Devise retournée pour ce pays, normalisée en majuscules.
firstName
Non
Prénom du client. À inclure lorsqu’il est disponible.
lastName
Non
Nom du client. À inclure lorsqu’il est disponible.
customerEmail
Non
Adresse e-mail du client utilisée par les parcours provider compatibles.
Réponse acceptée/en attente — HTTP 200
Réponse immédiatement réussie — HTTP 200
La structure de responseData est propre au provider et peut varier selon l’opérateur. Votre désérialiseur doit accepter des champs supplémentaires ainsi que des valeurs null. L’API considère les codes de collecte 00 ou 0, ou un message de succès SUCCESS/SUCCESSFUL, comme une réussite immédiate.