Documentation

Intégration de l'API CauriPay - V1.0 Avec une authentification JWT

Informartions d'un utilisateur créé via la Console.

Par exemple
  • User login: infos@cultureweb.net
  • User password: Azerty1*

1 - Obtenir un jeton de transaction de paiement

Description: Génère un jeton de transaction de paiement pour un compte marchand et valide pour une durée configurable (30 minutes par défaut). Ce jeton ne peut être utilisé qu'une seule fois par ce compte marchand pour générer un lien de transaction de paiement UCollect.

URL: https://api.cauripay.com:8443/api/payment/token

Method: POST

Authorization: No Auth

Content-Type: application/json

Body:

{

"userId": [User login],

"password": [User password]

}

Response:

Transaction token (example: 28AF3CB658474E71B909DB1C18978B22)

2 - Initier un paiement

Description: Génère un lien de transaction de paiement UCollect à partir de l’identifiant du marchand, d'un jeton de transaction de paiement et des informations de paiement. Tous ces inptus sont formatés dans un jeton JWT.

URL: https://api.cauripay.com:8443/api/payment/init

Method: PUT

Authorization: Bearer [JWT token]

Content-Type: application/json

Body: Nothing

Response: New transaction link on UCollect # example: https://ucollect.ubagroup.com/cipg-payportal/paytran?id=CTNT245931

# Où [JWT token] est le jeton JWT généré avec le JSON ci-dessous :

HEADER:

{

"iss": [Merchant Website ID],

"sub": [Transaction token],

"reference": "123",

"currency": "NGN",

"amount": "2",

"itemsNumber": 3,

"itemsDescription": "Article 1,Article 2,Article 3",

"customerFirstName": "Prince Romaric",

"customerLastName": "TOFFA",

"customerPhone": "0022965599995",

"customerEmail": "kk.abdouramanou@gmail.com"

}

SIGNATURE SECRET: [Merchant Public Key]

et avec :

[Merchant Website ID]: l'ID du marchand, # exemple : "330005a0-5dda-4f0d-a394-21a23ec4d79c" .

[Transaction token]: le jeton de transaction obtenu à la première requête, # exemple : "28AF3CB658474E71B909DB1C18978B22"

[Merchant Public Key]: la clé puplique du marchand, # exemple : "679927cd-de91-44b6-829f-36acfabf9bb2" .

Par exemple

HEADER:

{

"alg": "HS512",

"typ": "JWT"

}

PAYLOAD:

{

"iss": "330005a0-5dda-4f0d-a394-21a23ec4d79c",

"sub": "2A4F1085C34340F88D0D4E062F6DB443",

"reference": "123",

"currency": "NGN",

"amount": "2",

"itemsNumber": 3,

"itemsDescription": "Article 1,Article 2,Article 3",

"customerFirstName": "Abdou R.",

"customerLastName": "KHAKHA",

"customerPhone": "0022965599995",

"customerEmail": "kk.abdouramanou@gmail.com"

}

Exemple de [JWT token]:

eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiIzMzAwMDVhMC01ZGRhLTRmMGQtYTM5NC0yMWEyM2VjNGQ3OWMiLCJzdWIiOiJGQjhERTMwMkI2QTU0MDFFQjE0NTIxMkEzNjI4MTczMiIsInJlZmVyZW5jZSI6IjEyMyIsImN1cnJlbmN5IjoiTkdOIiwiYW1vdW50IjoiMiIsIml0ZW1zTnVtYmVyIjozLCJpdGVtc0Rlc2NyaXB0aW9uIjoiQXJ0aWNsZSAxLEFydGljbGUgMixBcnRpY2xlIDMiLCJjdXN0b21lckZpcnN0TmFtZSI6IkFiZG91IFIuIiwiY3VzdG9tZXJMYXN0TmFtZSI6IktIQUtIQSIsImN1c3RvbWVyUGhvbmUiOiIwMDIyOTY1NTk5OTk1IiwiY3VzdG9tZXJFbWFpbCI6ImtrLmFiZG91cmFtYW5vdUBnbWFpbC5jb20ifQ.LTFK5i1z2VcS6Mj5rC2011yC0FpbgUto7fpUoe0gZPpY1Gl7ltegf4opXeHUDRDvEOMGKijP9G2RMn4Nglm2OA

Important: Pour la génération du jeton Jwt sur https://jwt.io/, le secret de la signature n'est pas codé en base64.

3 - URLs de retour de transaction de paiement

[MERCHANT_SUCCESS_URL]?reference=[Order reference]

[MERCHANT_FAILLURE_URL]?reference=[Order reference]

[MERCHANT_CANCEL_URL]?reference=[Order reference]

# Où [MERCHANT_SUCCESS_URL], [MERCHANT_FAILLURE_URL] et [MERCHANT_CANCEL_URL] sont les URL du marchant pour le retour de transaction de paiement avec le paramètre [Order_reference] qui est la référence de la commande. Le marchand les fournit lors de son inscription sur le console console.cauripay.com