Aller au contenu principal

Initialiser un Paiement

Pour initialiser un paiement dans le système NoWallet, utilisez le point de terminaison suivant :

POST{baseUrl}/init/payment

Paramètres du Corps de la Requête

Lors de l'initialisation d'un paiement, le corps de la requête doit inclure les paramètres suivants au format JSON :

NameInTypeRequiredDescription
bodybodyInitPaymentModelDTOtruenone

Exemple de Corps de Requête

{
"transaction_id": "ca3a65bb-9008-443d-8d4b-61c3b0006438",
"additional_infos": {
"customer_email": "[email protected]",
"customer_lastname": "Doe",
"customer_firstname": "John",
"customer_phone": "691234567"
},
"amount": 200,
"callback_url": "https://example.com/callback",
"return_url": "https://example.com/return",
"country_code": "CM",
"operators_code": ["OM"],
"method": "MERCHANT",
"tunnel": "CHECKOUTPAGE",
"operator_otp": "123456"
}

Exemples de Code dans Plusieurs Langages

Pour vous aider à intégrer l'API NoWallet facilement, nous fournissons des exemples de code dans divers langages de programmation. Ces exemples montrent comment effectuer une requête au point de terminaison de l'API et gérer la réponse.

  • Shell (cURL) : Pour des tests rapides et une utilisation en ligne de commande.
  • HTTP : Format brut de la requête HTTP pour comprendre la structure.
  • JavaScript : En utilisant fetch pour les environnements de navigateur ou Node.js.
  • Ruby : En utilisant la bibliothèque rest-client pour les applications Ruby.
  • Python : En utilisant la bibliothèque requests pour les projets Python.
  • PHP : En utilisant GuzzleHttp pour les intégrations PHP.
  • Java : En utilisant HttpURLConnection pour les applications Java.
  • Go : En utilisant le package net/http pour les projets Go.

Exemple de Requête

Voici un exemple de la façon d'initialiser un lien de paiement en utilisant différents langages. Sélectionnez l'onglet correspondant à votre langage préféré pour voir l'implémentation.

note

Assurez-vous de remplacer {access-token} par votre véritable jeton d'API et de fournir les paramètres requis dans la requête.

# Example of initializing a payment link using cURL
curl -X POST {baseUrl}/init/payment \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'

Paramètres de la Réponse

La réponse du serveur inclura les paramètres suivants au format JSON :

StatutSignificationDescriptionSchéma
200OKRéponse de succès pour l'initialisation du paiementInitPaymentResponseModelDto
400Bad RequestErreurs possibles dans la requêteAucun

Types de Réponse

La réponse du serveur inclura l'URL de l'initialisation du paiement et toute information pertinente. La réponse sera au format JSON.

Réponse de Succès (200 OK)

Réponse de succès pour l'initialisation du paiement

{
"country": "CM",
"currency": "XAF",
"signature": "EXAMPLE-XXXXX-XXXXX",
"available_operator": ["MTN", "OM"],
"authorized_operator": ["MTN", "OM"],
"payment_url": "https://example.com/payment"
}

Réponse d'Erreur (400 Bad Request)

Erreurs possibles dans la requête

{
"statusCode": 400,
"error": "ERROR_COUNTRY_CODE_NOT_FOUND",
"message": "It seems that this country code does not exist"
}
{
"statusCode": 400,
"error": "NOT_ALLOWED_TUNNEL_WITHOUT_PHONENUMBER",
"message": "API tunnel is allowed only if there is a customer_phone"
}
{
"statusCode": 400,
"error": "NOT_ALLOWED_TUNNEL_OPERATORS_CODE",
"message": "API tunnel is allowed only for single operators_code e.g. ['OM']"
}
{
"statusCode": 400,
"error": "ERROR_PHONE_NUMBER_LENGTH_IS_TOO_SHORT",
"message": "phone number invalid, the length of this phone number is too short"
}
{
"statusCode": 400,
"error": "ERROR_PHONE_NUMBER_OPERATOR_COUNTRY",
"message": "It seems that this number is not a valid phone number, the phone number is not valid for this operator or country"
}
{
"statusCode": 400,
"error": "ERROR_FEE_NOT_FOUND",
"message": "You cannot generate a signature, please contact administrator to get help."
}
{
"statusCode": 400,
"error": "ERROR_GENERATE_SIGNATURE",
"message": "Something went wrong during signature generation, please contact support to get help or try again."
}
{
"statusCode": 400,
"error": "ERROR_BALANCE_DEFICIT",
"message": "An error has occurred, the transaction signature could not be generated. Your balance is deficit. Please contact administrator to get help."
}

Cette page vous a-t-elle été utile ?