使用POST请求发送上下文数据

时间:2014-12-21 07:31:46

标签: python django payment-gateway

我正在尝试向我的网站添加支付网关。我有一个'立即付款'按钮具有处理付款的视图的'href'属性。此视图提供网关处理请求所需的所有可变项。在视图的最后,我将用户重定向到支付网关页面,并在RequestContext中传递变量。如何将它们作为表单发送到支付网关站点?

以下是我处理结帐的观点:

import hashlib

def redirect(request):
    basket = request.basket
    key = 'to be provided by payu'
    txnid = basket.id,
    amount = basket.total_incl_tax
    phash = hashlib.sha(str(key)+'|'+str(txnid))
    variables = RequestContext(request, {
        'hash' : phash.hexdigest(),
        'key' : key,
        'txnid': txnid,
        'amount' : amount,
    })
    return HttpResponseRedirect('https://test.payu.in/_payment', variables)

所以,基本上我的问题是,是否可以将POST请求中的上述variables发送到网址https://test.payu.in/_payment?如果没有,那么有哪些替代方案?

2 个答案:

答案 0 :(得分:1)

首先,不要将您的功能命名为重定向。所以我在这里使用django的重定向:

一种方法是在url中传递变量。这只是一个伪示例......

return redirect('https://test.payu.in/_payment?k=%s&h=%s', % ( key, hash)) 

答案 1 :(得分:0)

如果您遇到这样的问题,您的设计过于复杂的可能性很小。

这是HTTP限制,POST数据不能与重定向一起使用。

如果您确实需要在POST请求中重定向,请使用JavaScript在客户端尝试。