我试图将银行的虚拟支付系统整合到我的网站中。
银行系统对我定义的URL(PHP文档)进行异步HTTP调用,然后从那里尝试获取订单ID并将订单标记为已付款。
我面临的问题是,只有HTTP调用我似乎无法获得此ID参数,因为预期的结果(couchdb documnt标记为已付款)不是那里。
但是,当我浏览我的文档并在其后面粘贴HTTP调用的内容时,它就会起作用,如下所示:
http://example.com/crud.php?Ds_SignatureVersion=xxx&Ds_MerchantParameters=xxx&Ds_Signature=xxx
在我的crud.php
我执行以下操作:
$test = $_GET['Ds_MerchantParameters'];
为什么我在浏览网址时设法获取此参数,而不是在银行系统进行HTTP POST呼叫时?
答案 0 :(得分:1)
如果银行系统向您的网站发出POST请求,则传递的参数不在$_GET
中,而在$_POST
中。所以改变
$test = $_GET['Ds_MerchantParameters'];
到
$test = $_POST['Ds_MerchantParameters'];
如果您希望能够对页面使用GET和POST请求,还可以使用$ _REQUEST:
$test = $_REQUEST['Ds_MerchantParameters'];