Avec PAYREMITS Standard et Express, vous pouvez facilement et en toute sécurité recevoir des paiements en ligne de votre client.

PAYREMITS Documentation de l’API REST Paiement Marchand

La description

Ce document est un guide sur la manière d’intégrer le paiement marchand avec l’API REST.
L’API est un service web RESTful qui accepte des données de formulaire en entrée. Toutes les méthodes sont implémentées en POST.
Avant toute chose, l’utilisateur (celui qui paie le marchand) doit être connecté pour obtenir le jeton d’autorisation.

CONNEXION VIA API

URL: https://app.payremits.com/api/login
Type de méthode: POST
Requête d’exemple: PARAMÈTRE DU CORPS (form-data)

                        
                            {"email":"david.luca@gmail.com","password":"123456"}
                        
                    
Paramètre La description Statut Taper Exemple
e-mail Doit être un e‑mail Requis Chaîne david.luca@gmail.com
mot de passe Mot de passe utilisateur Requis Chaîne 123456
RÉPONSE D’EXEMPLE

Connexion réussie

                        
                            {"response":{"user_id":4,"first_name":"David","last_name":"Luca","email":"david.luca@gmail.com","formattedPhone":null,"picture":"","defaultCountry":"US","TOKEN":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ijg0OGU2NjhhZDdjMWRmYzhjODA1NGE0NjY5ZTM0OGYyND","STATUS":200,"USER-STATUS":"ACTIVE"}}
                        
                    

Erreur de connexion

                        
                            {"response":{"status":401,"message":"Invalid email & credentials"}}
                        
                    

N.B. : vous devez utiliser ce JETON généré à toutes les autres étapes comme Authorization-token dans l’en-tête.

End Point 1: Merchant Verify

URL: https://app.payremits.com/api/merchant/verify
Méthode: POST
La description: Accéder au compte marchand, https://app.payremits.com/merchants Cliquez sur l’icône d’engrenage du marchand express approuvé.
Copiez depuis la fenêtre modale le Client ID et le Client Secret. Cette méthode est utilisée pour générer un jeton d’accès.
N.B: Si le marchand est approuvé par l’administrateur, seule alors l’icône d’engrenage sera disponible pour ce marchand. Le Authorization‑token doit être envoyé dans l’en‑tête.

REQUÊTE D’EXEMPLE

PARAMÈTRE DU CORPS (form-data)

                        
                            {" client_id":" yMKqAvC2dILUyhwdIbryh4rsl784kF"," client_secret":" ZubitDCg2QyxuoSu0l6pJkNB5lOrcl1Ivy0qZlhlu8QhWHDYOelkVSNC8B0ybunOb3i832W3FC2SUuXw04Rj8kRHduMx7pdD4a48"}
                        
                    

PARAMÈTRE DE L’EN‑TÊTE

                        
                            {“ Authorization-token”:” eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIzIiwianRpIjoiNTFiMTU5N2EyYjI4NDMxMzFiZWM0MTdlZGI4NmExOTcyNGZhYWVlZWMzZGNjMjNkMzRlOTE2YjVkYzJlM2M0NjEwODJkOGNlNTdlZGNkNmYiLCJpYXQiOjE2MzYxNzk5MjgsIm5iZiI6MTYzNjE3OTkyOCwiZXhwIjoxNjY3NzE1OTI4LCJzdWIiOiI0Iiwic2NvcGVzIjpbXX0...”}
                        
                    
Paramètre La description Statut Taper Exemple
client_id Client ID du marchand Requis Chaîne yMKqAvC2dILUyhwdIbryh4rsl784kF
client_secret Secret du marchand Requis Chaîne ZubitDCg2QyxuoSu0l6pJkNB5lOrcl1Ivy0qZlhlu8QhWHDYOe...
Authorization-token Doit être fourni dans l’en‑tête, le jeton généré après la réponse de connexion de l’utilisateur. Requis Chaîne eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiIzIiw...
RÉPONSE D’EXEMPLE

Le marchand existe

                        
                            {"success":{"response":{"status":"success","message":"Client Verified","data":{"access_token":"PIdb49a6imxSecjkr2tn21YSPn"}},"status":200}}
                        
                    

Le marchand n’existe pas

                        
                            {"success":{"status":407,"message":"Can not verify the client. Please check client Id and Client Secret!"}}
                        
                    

N.B. : vous devez utiliser ce access_token généré à l’étape suivante comme AUTORISATION

Point de terminaison - 2. Informations sur la transaction

URL: https://app.payremits.com/api/merchant/transaction-info
Méthode: POST
La description: Nous utilisons ce point de terminaison pour stocker les informations de paiement. Obtenez le jeton d’accès généré lors de la vérification du marchand à l’étape précédente. Utilisez “Authorization-token” et “Authorization” comme en‑têtes. “Authorization-token” est généré à partir de https://app.payremits.com/api/login
N.B: Vous devrez définir Authorization : Bearer suivi de la valeur du jeton. Ajoutez successUrl et cancelUrl selon vos besoins. Pour le code de devise, utilisez le format ISO.

SAMPLE REQUEST

PARAMÈTRE DU CORPS (form-data)

                        
                            {"payer":"Wallet","amount":"10","currency":"USD","email":"david.luca@gmail.com","successUrl":"https://app.payremits.com/dashboard","cancelUrl":"https://app.payremits.com"}
                        
                    

PARAMÈTRE DE L’EN‑TÊTE

                        
                            {" Authorization-token ":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ijg0OGU2NjhhZDdjMWRmYzhjODA1NGE0NjY5ZTM0OGYyND..."," Authorization ":"Bearer 5UTduND48M4qrbSJ9i3CVuQ2cE "}
                        
                    
Paramètre La description Statut Taper Exemple
payer Mode de paiement Requis Chaîne Wallet/Mtn
amount Le montant que l’utilisateur doit payer. Requis Double 10
currency La devise utilisée pour le paiement ; elle doit être un code ISO. Requis Chaîne USD
email E‑mail de l’utilisateur effectuant le paiement Optional E-mail david.luca@gmail.com
successUrl URL du tableau de bord de l’application Requis Chaîne https://app.payremits.com/dashboard
cancelUrl URL racine de l’application Requis Chaîne https://app.payremits.com
Authorization-token Doit être fourni dans l’en‑tête, le jeton généré après la réponse de connexion de l’utilisateur. Requis Chaîne eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQi...
Authorization Doit être donné dans l’en‑tête, à récupérer lors de la vérification du marchand Requis Chaîne Bearer PIdb49a6imxSecjkr2tn21YSPn
RÉPONSE D’EXEMPLE

Succès

                        
                            {"success":{"status":"success","grandId":78509912,"token":"VPJSyzRvTgzWGll3xjTI","message":"","data":{"approvedUrl":"https://app.payremits.com/merchant/payment?grant_id=78509912&token=VPJSyzRvTgzWGll3xjTI"}}}
                        
                    

Devise invalide

                        
                            {"success":{"status":"error","message":"Currency GBP is not supported by this merchant!","data":[]}}
                        
                    

Montant nul

                        
                            {"success":{"status":"error","message":"Amount cannot be 0 or less than 0.","data":[]}}
                        
                    

N.B. : après avoir effectué l’étape ci‑dessus, vous obtiendrez grant_id et jeton. Ces valeurs seront nécessaires à l’étape suivante.

Point de terminaison - 3. PAIEMENT

URL: https://app.payremits.com/api/merchant/payment
Méthode: POST
La description: Dans ce point de terminaison, le paiement réussira : toutes les validations des entrées sont vérifiées et l’utilisateur est redirigé vers la page de paiement (s’il n’est pas connecté, il doit d’abord se connecter). L’utilisateur doit décider d’annuler ou d’accepter le paiement. Fournissez grant_id et jeton dans le corps de la requête, tels que générés à l’étape précédente.

SAMPLE REQUEST For Wallet Payment

PARAMÈTRE DU CORPS (form-data)

                        
                            {"grant_id":"55890128","token":"OfCErZrxuiDqxTjscQon"}
                        
                    
SAMPLE REQUEST For Mtn Payment

PARAMÈTRE DU CORPS (form-data)

                        
                            {"grant_id":"55890128","token":"OfCErZrxuiDqxTjscQon","carrierCode":"244","phone":"123456","message":"hello","note":"note"}
                        
                    

PARAMÈTRE DE L’EN‑TÊTE

                        
                            {“ Authorization-token”:” eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ijg0OGU2NjhhZDdjMWRmYzhjODA1NGE0NjY5ZTM0OGYyND...”}
                        
                    
Paramètre La description Statut Taper Exemple
grant_id Obtenu depuis le point de terminaison 2 Requis Double 78509912
token Obtenu depuis le point de terminaison 2 Requis Chaîne VPJSyzRvTgzWGll3xjTI
carrierCode Mtn mobile number carrier code Requis Chaîne 244
phone Mtn mobile number without carrier code Requis Chaîne 123456
message Message for the MTN user Requis Chaîne 123456
note Note for the transaction Requis Chaîne note
Authorization-token Doit être fourni dans l’en‑tête : le jeton généré après réponse de connexion de l’utilisateur. Requis Chaîne eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aS...

N.B: carrierCode, phone, message, note are required only for the MTN payment.

RÉPONSE D’EXEMPLE

Payment Success

                        
                            {"success": {"status": 200,"message": "Success","successUrl": "https://app.payremits.com?eyJzdGF0dXMiOjIwMCwidHJhbnNhY3Rpb25faWQiOiJFQjlCRUM0MUYyMDRCIiwibWVyY2hhbnQiOiJBc2hyYWZ1bCBSYXNlbCIsImN1cnJlbmN5IjoiVVNEIiwiZmVlIjowLjE0OTk5OTk5OTk5OTk5OTk5NDQ0ODg4NDg3Njg3NDIxNzI5Nzg4MTg0MTY1OTU0NTg5ODQzNzUsImFtb3VudCI6OS44NDk5OTk5OTk5OTk5OTk2NDQ3Mjg2MzIxMTk5NDk5MDcwNjQ0Mzc4NjYyMTA5Mzc1LCJ0b3RhbCI6IjEwLjAwMDAwMDAwIn0="}}
                        
                    
RÉPONSE D’EXEMPLE

MTN Payment

                        
                            {"success": {"status": 200,"message": "Success","successUrl": "payremits.com?eyJzdGF0dXMiOjIwMCwidHJhbnNhY3Rpb25faWQiOiI5RkRFMkZGMTJDN0FEIiwibWVyY2hhbnQiOiJGb2lzYWwgQWhtZWQiLCJjdXJyZW5jeSI6IlhBRiIsImZlZSI6MS41LCJhbW91bnQiOjk4LjUsInRvdGFsIjoxMDB9","mtnResponse": {"primary_key": "95fc9962968840ceb8c001755a8e11db","uuid": "d9f8d42b-66f0-4c4c-9d66-267db3b7cfb6","env": "mtncameroon","access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSMjU2In0.eyJjbGllbnRJZCI6ImJkZmVjMjcyLTk3ODgtNGU2OS1iZWI1LTJkZTYxMWJjN2IyYyIsImV4cGlyZXMiOiIyMDI1LTA4LTE1VDA5OjM3OjU2LjIzNCIsInNlc3Npb25JZCI6IjYyYWE3OTc3LTI3MGMtNDZjNC1hZjRjLTkzZDc5YjFkYmNlOCJ9.M0L5IoX3AWEdLICJmxfW9Olq81Z6rlKjVwO6CDHlPe4f2qsRddNrN88v3a2Ntf6soRgPiZTyxWvuCVHc75hMK3jipEgKWjD2M9jEMntAIFDbMrCuIpDVyr2Z-WC_RO-T0wzOweVOQSaym05goIWnY8GY96zf6w55JG6MSKem0FGPB9N13WIgQ9eCocdVwqcGaBdaY4IH7oHL5R6sHev2ECb9metu58bkcb0v1-CWzAsjCH_lkXDFwFSUPvyF9mzg9xyJFzRw3Rp_z94mQ04_VNT4AX2TZUjm-jEepTvo_ju2Y7kQwa8zOVfIp9sElPJY--2e4YyMED9ZxxISqZgkKQ"}}}
                        
                    

Le marchand et l’utilisateur sont identiques

                        
                            {"success":{"status":801,"message":"Merchant cannot make payment to himself!"}}
                        
                    

Incompatibilité entre Grant ID ou jeton

                        
                            {"success":{"status":401,"message":"Grant Id or Token does not Match!"}}
                        
                    

Solde insuffisant

                        
                            {"success":{"status":401,"message":"User doesn't have sufficient balance!"}}
                        
                    
Point de terminaison 4 : ANNULATION DE PAIEMENT

URL: https://app.payremits.com/api/merchant/payment/cancel
Méthode: POST
La description: Cette URL est utilisée pour annuler le paiement. Pour annuler un paiement, après le point de terminaison #2, effectuez une requête au point #4. Fournissez « Authorization‑token » depuis https://app.payremits.com/api/login et le jeton du point de terminaison #2.

SAMPLE REQUEST

PARAMÈTRE DU CORPS (form-data)

                        
                            {"grant_id":"55890128","token":" OfCErZrxuiDqxTjscQon "}
                        
                    

PARAMÈTRE DE L’EN‑TÊTE

                        
                            {“ Authorization-token”:” eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6Ijg0OGU2NjhhZDdjMWRmYzhjODA1NGE0NjY5ZTM0OGYyND...”}
                        
                    
Paramètre La description Statut Taper Exemple
grant_id Obtenu depuis le point de terminaison 2 Requis Double 78509912
token Obtenu depuis le point de terminaison 2 Requis Chaîne VPJSyzRvTgzWGll3xjTI
Authorization-token Doit être fourni dans l’en‑tête, le jeton généré après la réponse de connexion de l’utilisateur. Requis Chaîne eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiO...
RÉPONSE D’EXEMPLE

Paiement annulé

                        
                            {"success": {"status": 200, "message": "Payment cancelled successfully", "cancelUrl": "https://app.payremits.com/dashboard"}}
                        
                    
End Point 5: MTN Payment Status Check

URL: https://app.payremits.com/api/mtn-payment-status
Méthode: POST
La description: To check the payment status this url is used. To check the payment status, after endpoint #3 make a request to endpoint #5.

SAMPLE REQUEST

PARAMÈTRE DU CORPS (form-data)

                        
                            {"primary_key":"OfCErZrxuiDqxTjscQon","env":"mtncameroon","access_token":"OfCErZrxuiDqxTjscQondkhfgkdhkh","uuid":"55890128"}
                        
                    

PARAMÈTRE DE L’EN‑TÊTE

                        
                            {“Accept”:”application/json”,“Content-Type”:”application/json”}
                        
                    
Paramètre La description Statut Taper Exemple
primary_key MTN Primary Key Requis Chaîne OfCErZrxuiDqxTjscQon
env MTN API Environment Requis Chaîne mtncameroon
access_token MTN Access Token Requis Chaîne OfCErZrxuiDqxTjscQondkhfgkdhkh
uuid MTN Transaction ID Requis Chaîne 55890128
RÉPONSE D’EXEMPLE

MTN Payment Status Check

                        
                            {"externalId": "16306036-4b04-4106-8c9d-aecbeb3e5c70","amount": "98.5","currency": "XAF","payer": {"partyIdType": "MSISDN","partyId": "237677265707"},"payerMessage": "note","payeeNote": "note","status": "FAILED","reason": "VALIDATION_ERROR"}
                        
                    
G-PH939LYCZV