Initialisation d'un paiement


Comment générer un lien de paiement

Pour initier un paiement vous devez générer un lien de paiement en envoyer les informations suivantes en JSON. En utilisant cette url: https://api-checkout.cinetpay.com/v2/payment

Nom de la variable Type Taille Obligatoire Description
apikey String - Oui votre apikey(fourni par CinetPay)
site_id String - Oui votre site_id(fourni par CinetPay)
transaction_id String - Oui Identification de la transaction(unique) note
amountnote Integer - Oui Le montant de la transaction ( doit être un multiple de 5)
currency String 3 Oui La devise monétaire (XOF, XAF, CDF, GNF, USD)
description String - Oui Description du paiement en cours
notify_url Url - Oui Le lien de notification du paiement
return_url Url - Oui Le lien où le client sera redirigé après le paiement
channels String - Oui sert à définir les univers présent sur le guichet (ALL, MOBILE_MONEY, CREDIT_CARD, WALLET). Par défaut, channels est ALL
lang String - Non La langue par défaut du guichet de paiement (fr, en)
metadata String - Non Tout autre information complémentaires, généralement vous mettrez des valeurs dont vous aurez besoin pour identifier ou traiter facilement le paiement, exemple : la référence de la commande
invoice_data Object 3 Non Toute information supplementaire que vous voulez afficher sur la facture de CinetPay(Supporte trois variables que vous nommez à votre convenance)Exemple
alternative_currencynote String 3 Non Valeur de la transaction dans la devise choisie par le Marchand

{primary.fa-close}Pour afficher l'option paiement par carte bancaire, vous devez ajouter aux informations précédentes ces informations optionnelles

Nom de la variable Type Taille Obligatoire Description
customer_id String - Non L’identifiant du client dans votre système
customer_name String - Oui Le nom du client
customer_surname String - Oui Le prénom du client
customer_phone_number String - Oui Le numéro de téléphone du client
customer_email String - Oui l'email du client
customer_address String - Oui l'adresse du client
customer_city String - Oui la ville du client
customer_country String 2 Oui Le pays du client, la valeur à envoyer est le code ISO du pays (code à deux chiffre) ex : CI, BF, US, CA, FR
customer_state String 2 Oui L’état dans de la quel se trouve le client. Cette valeur est obligatoire si le client se trouve au États Unis d’Amérique (US) ou au Canada (CA)
customer_zip_code String 5 Oui Le code postal du client


Après avoir obtenu l’url de paiement à la requête précédente, il vous suffit juste de lancer cette url dans un navigateur web pour vous retrouver sur le guichet de paiement.

Initialisation

{warning.fa-info}Pour plus de sécurité, Il faut enregistrer les informations sur le paiement dans la base de données avant d'afficher le guichet.

Exemple d'intégration

Exemple de requête

{
  "amount": 2500,
  "currency": "XOF",
  "apikey": "XXXXXXXXXXXXXXXX",
  "site_id": "XXXXX",
  "transaction_id": "REFID12354",
  "description": "TRANSACTION DESCRIPTION", 
  "return_url": "https://www.exemple.com/return", 
  "notify_url": "https://www.exemple.com/notify", 
  "metadata": "user001",
  "customer_id": "001",
  "customer_name": "John",
  "customer_surname": "Doe",
  "channels": "MOBILE_MONEY",
  "invoice_data":{
        "Reste à payer":"25 000fr",
        "Matricule":"24OPO25",
        "Annee-scolaire":"2020-2021"
        }
}

Exemple de réponse succès

{
    "code": "201",
    "message": "CREATED",
    "description": "Transaction created with success",
    "data": {
        "payment_token": "5df64dd9c5447739327eb88e1e4ea0ac015555cc262ea308c91acbd4e5c8fb95f4bd0bd7cad877a452f877fa6f51fe74184d00a84ab7f9",
        "payment_url": "https://checkout.cinetpay.com/payment/5df64dd9c5447739327eb88e1e4ea0ac015555cc262ea308c91acbd4e5c8fb95f4bd0bd7cad877a452f877fa6f51fe74184d00a84ab7f9"
    },
    "api_response_id": "1632143554.8513"
}

Exemple de réponse erreur

{
    "code": "ERROR_CODE",
    "message": "ERROR_MESSAGE ",
    "description": "ERROR_DESCRIPTION", 
    "api_response_id": "RESPONSE_ID_HERE"
}

A savoir

1) amount : Le montant doit être un multiple de 5 sinon la transaction échouera.


2) alternative_currency : Cette conversion est à titre indicatif. CinetPay se dédouane de tous frais supplémentaires applicables à la transaction


3) invoice_data


"invoice_data":{
                "Reste à payer":"25 000fr",
                "Matricule":"24OPO25",
                "Annee-scolaire":"2020-2021"
               }


4) transaction_id : L'identifiant de la transaction est lié au token; si vous modifier la valeur d'un paramètre lors de l'initialisation , vous devrez générer un nouvel identifiant sinon vous n'aurez pas un nouveau token.