Documentation Frappe Framework

Frappe Framework

RazorPay

Le paiement Razorpay crée une commande côté serveur, ouvre la fenêtre de checkout, puis vérifie le paiement avant de marquer la demande terminée.

1 min de lectureMis à jour le Source : docs.frappe.io

À quoi sert l’intégration

Razorpay est une solution de paiement répandue en Inde : encaisser, traiter et reverser. Les moyens cités sont les cartes de crédit, les cartes de débit et le netbanking. La source décrit le checkout client.

Brancher le script

La page inclut <script type="text/javascript" src="/assets/js/checkout.min.js"></script>. Ce script charge le checkout Razorpay et en enveloppe l’API.

Commande côté serveur

get_razorpay_order prend le contrôleur get_payment_gateway_controller("Razorpay") et appelle create_order. L’exemple publié fixe un montant de 30000, le DocType Conference Participant, le nom du document et un reçu égal à self.name. Le dictionnaire est abrégé dans la page source.

Côté client

new frappe.checkout.razorpay(options) reçoit titre, description, image, préremplissage nom, e-mail et téléphone, couleur, et les champs obligatoires doctype et docname. On peut brancher on_open, on_success et on_fail. init() crée la commande et ouvre la fenêtre.

Cycle

  1. razorpay.init() déclenche la création de commande. Le contrôleur fixe le montant et un reçu unique. get_razorpay_order appelle create_order des réglages Razorpay, qui crée une demande d’intégration et envoie un POST à https://api.razorpay.com/v1/orders.
  2. L’order_id est stocké sur la demande d’intégration et passé au client, qui ouvre la fenêtre. Selon le statut, la méthode de succès ou d’échec reçoit l’identifiant de paiement.
  3. Les détails sont enregistrés. En cas de succès, authorize_payment interroge l’API Razorpay avec le Payment ID. Une fois autorisée, la demande est Completed, puis le hook de succès du reference_doctype est appelé.

La source renvoie à la documentation du checkout personnalisé Razorpay.

Point d’attention

doctype et docname sont obligatoires dans les options client. Le montant de l’exemple est 30000, sans précision d’unité dans le texte. La vérification ne marque la demande terminée qu’après le contrôle du Payment ID.