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.
À 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
razorpay.init()déclenche la création de commande. Le contrôleur fixe le montant et un reçu unique.get_razorpay_orderappellecreate_orderdes réglages Razorpay, qui crée une demande d’intégration et envoie un POST àhttps://api.razorpay.com/v1/orders.- L’
order_idest 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. - Les détails sont enregistrés. En cas de succès,
authorize_paymentinterroge l’API Razorpay avec le Payment ID. Une fois autorisée, la demande est Completed, puis le hook de succès dureference_doctypeest 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.
