我正在使用第三方提供商接受信用卡付款,要求通过表单发布数据,但是我传递的数据来自数据库,而不是来自用户填写表格。PHP替换为Javascript表单自动提交和重定向
目前,我通过使用JavaScript自动提交页面来解决这个问题,但是,尽管这起作用,但它看起来并不专业。有没有办法让PHP发布到浏览器中加载的页面?
<body onload="document.form1.submit()">
<form method="post" action="https://payment.provider.com/Servlet" id="form1" name="form1" target="_top">
<input type="hidden" name="TRANSACTION_ID" value="<?php echo $transid; ?>" />
<input type="hidden" name="AMOUNT" value="<?php echo $amount; ?>" />
<input type="hidden" name="TERMINAL_ID" value="T04_000000000005" />
<input type="submit" value="Click if not redirected" name="submitButton" />
</form>
</body>
我知道cURL当然可以发布数据,但它期望得到回应。提交表单时,数据会发布到页面,但该页面随后会加载到浏览器中。一旦数据发布,用户需要被带到第三方提供商页面(使用发布的值,所以我不能简单地做一个重定向)。
你为什么不能直接发帖?只需在您的表单中包含这些隐藏字段... – ManseUK 2012-07-16 16:03:02
我明白您的要求的方式,我会看到一个页面假装来自付款处理器,但实际上来自您的网站。这肯定会吓到我...... – fvu 2012-07-16 16:03:04
如果你看看其他通过第三方进行支付处理的网站(即几乎所有人,除了真正的大网站),你会发现他们都以这种方式工作 - 因为支付卡公司需要它。如果您在您的网站上进行信用卡付款,请确保您采用符合PCI标准的方式进行付款。如果你试图绕过它,当卡公司发现时,你会发现自己失去了你的商家账户。 – Spudley 2012-07-16 16:17:42