从JavaScript到Django视图的付款信息

从JavaScript到Django视图的付款信息,javascript,python,django,Javascript,Python,Django,我为我的django应用程序集成了一个支付处理器,现在如果支付成功,我在HTML中有一个用JavaScript编写的回调函数,它会给我事务引用id。我想将该引用id发送到我的django视图以进行最终验证 我在这里尝试了几乎所有有关堆栈溢出的解决方案,但似乎没有一个能解决我的确切问题。我唯一能做的就是将引用id记录到console.log中 这是我的密码 内部html <script> function payWithPaystack(){ var handler = Payst

我为我的django应用程序集成了一个支付处理器,现在如果支付成功,我在HTML中有一个用JavaScript编写的回调函数,它会给我事务引用id。我想将该引用id发送到我的django视图以进行最终验证

我在这里尝试了几乎所有有关堆栈溢出的解决方案,但似乎没有一个能解决我的确切问题。我唯一能做的就是将引用id记录到console.log中

这是我的密码

内部html

<script>
function payWithPaystack(){
  var handler = PaystackPop.setup({
    key: 'pk_test_somekey',
    email: 'customer@email.com',
    plan: "PLN_testcode",
    metadata: {
       custom_fields: [
          {
              display_name: "Mobile Number",
              variable_name: "mobile_number",
              value: "+2348012345678"
          }
       ]
    },

    // if transaction was successful 
    callback: function(response){
        var ref_ = response.reference
        console.log(ref_)
    },
    onClose: function(){
        alert('window closed');
    }
  });
  handler.openIframe();
 }
</script>

您可以在回调函数中编写ajax调用

function PaymentCompleted(){
    $.ajax({
            type:"POST",
            url :"/payment-completed/",
            data:"reference_id=reference_id_here",
            datatype:"json",
            error:function(data){alert('Error:'+data);}
            success:function(data){alert('OK!'+data.message+','+data.code);}
          });
        }
在Django View:

from django.utils import simplejson
def paymnet_completed(request):
    print "ajax request called"
    print request.GET['reference_id']
    return_dict = {'message': 'Payment Successful','code':200}
    json = simplejson.dumps(return_dict)
    return HttpResponse(json, mimetype="application/x-javascript")
我希望这会有所帮助。

使用ajax
from django.utils import simplejson
def paymnet_completed(request):
    print "ajax request called"
    print request.GET['reference_id']
    return_dict = {'message': 'Payment Successful','code':200}
    json = simplejson.dumps(return_dict)
    return HttpResponse(json, mimetype="application/x-javascript")