Ver código fonte

refactor: auto fetch API key

pull/2/head
Shivam Mishra 5 anos atrás
pai
commit
73b9702b8a
2 arquivos alterados com 18 adições e 2 exclusões
  1. +6
    -0
      payments/payment_gateways/doctype/razorpay_settings/razorpay_settings.py
  2. +12
    -2
      payments/public/js/razorpay.js

+ 6
- 0
payments/payment_gateways/doctype/razorpay_settings/razorpay_settings.py Ver arquivo

@@ -351,6 +351,12 @@ def capture_payment(is_sandbox=False, sanbox_response=None):
doc.error = frappe.get_traceback()
frappe.log_error(doc.error, '{0} Failed'.format(doc.name))


@frappe.whitelist(allow_guest=True)
def get_api_key():
controller = frappe.get_doc("Razorpay Settings")
return controller.api_key

@frappe.whitelist(allow_guest=True)
def get_order(doctype, docname):
# Order returned to be consumed by razorpay.js


+ 12
- 2
payments/public/js/razorpay.js Ver arquivo

@@ -63,6 +63,7 @@ frappe.require('https://checkout.razorpay.com/v1/checkout.js').then(() => {

init() {
frappe.run_serially([
() => this.getKey(),
() => this.makeOrder(),
() => this.prepareOptions(),
() => this.setupHandler(),
@@ -78,9 +79,18 @@ frappe.require('https://checkout.razorpay.com/v1/checkout.js').then(() => {
razorpay.open();
}

getKey() {
return new Promise(resolve => {
frappe.call("frappe.integrations.doctype.razorpay_settings.razorpay_settings.get_api_key").then(res => {
this.key = res.message
resolve(true);
})
});
}

makeOrder() {
return new Promise(resolve => {
frappe.call( "frappe.integrations.doctype.razorpay_settings.razorpay_settings.get_order", {
frappe.call("frappe.integrations.doctype.razorpay_settings.razorpay_settings.get_order", {
doctype: this.doctype,
docname: this.docname
}).then(res => {
@@ -91,7 +101,7 @@ frappe.require('https://checkout.razorpay.com/v1/checkout.js').then(() => {
}

orderSuccess(response) {
frappe.call( "frappe.integrations.doctype.razorpay_settings.razorpay_settings.order_payment_success", {
frappe.call("frappe.integrations.doctype.razorpay_settings.razorpay_settings.order_payment_success", {
integration_request: this.order.integration_request,
params: {
razorpay_payment_id: response.razorpay_payment_id,


Carregando…
Cancelar
Salvar