我正在尝试向我的网站添加支付网关。我有一个'立即付款'按钮具有处理付款的视图的'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
?如果没有,那么有哪些替代方案?
答案 0 :(得分:1)
首先,不要将您的功能命名为重定向。所以我在这里使用django的重定向:
一种方法是在url中传递变量。这只是一个伪示例......
return redirect('https://test.payu.in/_payment?k=%s&h=%s', % ( key, hash))
答案 1 :(得分:0)
如果您遇到这样的问题,您的设计过于复杂的可能性很小。
这是HTTP限制,POST数据不能与重定向一起使用。
如果您确实需要在POST请求中重定向,请使用JavaScript在客户端尝试。