【发布时间】:2018-03-02 14:51:20
【问题描述】:
我有一个弹出式支付网关,我有一个公开的回传 url 来了解银行的成功数据。
mysite.com/push_back
// push back url gave to bank in order to send back data
function push_back() {
$content = file_get_contents("php://input");
$obj = json_decode($content);
$tran_id = $obj->tran_id;
$status = $obj->status;
//insert into db successfully
//redirect code is not working. eg: header("Location: http://example.com/myOtherPage.php");
}
注意:我创建了一个推回链接并提供给银行,它在后台运行,以便为我发送数据。
HTML 表单
<!— Modal content —>
<div class="modal-content">
<form method="POST" target="webservice" action="payment-gateway-url" id="merchant_request">
<input type="hidden" name="hash" value="asdfxc123sfd" id="hash"/>
<input type="hidden" name="tran_id" value="123" id="tran_id"/>
</form>
</div>
<input type="button" value="confirm" id="button-confirm" class="btn btn-primary" />
<script type="text/javascript">
$(document).on('click', '#button-confirm', function() {
PaymentGateway.checkout();
});
</script>
我已成功获得支付网关的回传数据。但是,我无法将执行重定向脚本写入另一个页面。似乎代码没有执行。我已经尝试搜索谷歌,但我没有找到合适的解决方案。
【问题讨论】:
-
你为什么不能写那个代码?是否涉及任何错误消息?
-
@NicoHaase,推回 url 正在后台运行,我不知道如何调试代码。
-
“推回 url 正在后台运行”是什么意思。
-
如果他们只是调用该 URL 而没有“跟随重定向”,那么您的重定向将被忽略。为什么您首先要重定向该呼叫?为什么不在该页面上完成您需要做的所有事情?
-
如果它在弹出窗口中,它不在“背景”中。无论哪种方式,如果您希望我们能够提供帮助,您都需要向我们展示您的实际代码。另外,确保在 header() 之前没有任何输出(exho、var dump 等)
标签: php redirect file-get-contents