通过PHP为支付平台传递信息
我有一个基于服务的公司和完全使用Dreamweaver创建的网站。它没有购物车,也没有我们销售的服务是完全相同的价格,所以包含一个服务是没有意义的。通过PHP为支付平台传递信息
我的银行为我提供了一个支付网关来实现支付自动化,并允许客户选择他们自己的货币,但它是为具有购物车或数据库的网站构建的。
所以我试图找到一个解决方案:
1 - 允许我向为客户详细介绍
2 - 询问客户,以确认他们是由于支付(这需要量在0到10000欧元之间,不允许使用圆点,空格和空格,并且包含2位小数)
3 - 确认他们的姓名和填写在单独页面的表格中的金额(他们的终端没有显示要支付的金额所以我想确认这个给客户)
4 - 将正确的信息,支付终端
5 - 返回到我们的网站,以确认支付已通过
6不见了 - 向我发送一封电子邮件,所有客户端,并且填写的信息该付款已被批准。
这里是银行
<form action="https://hpp.prueba.santanderelavontpvvirtual.es/pay" method="POST">
<input type="hidden" name="MERCHANT_ID" value="<?=$merchantid?>">
<input type="hidden" name="ORDER_ID" value="<?=$orderid?>">
<input type="hidden" name="ACCOUNT" value="<?=$account?>">
<input type="hidden" name="CURRENCY" value="<?=$curr?>">
<input type="hidden" name="AMOUNT" value="<?=$amount?>">
<input type="hidden" name="TIMESTAMP" value="<?=$timestamp?>">
<input type="hidden" name="DCC_ENABLE" value="1">
<input type="hidden" name="SHA1HASH" value="<?=$sha1hash?>">
<input type="hidden" name="HPP_LANG" value="EN">
<input type="hidden" name="AUTO_SETTLE_FLAG" value="1">
<input type="hidden" name="MERCHANT_RESPONSE_URL" value="tpv-mailer.php">
<input type="Submit" value="Pay by credit card on a Secure Website">
</form>
我是新来的PHP提供的代码,银行发过来的文档不清晰,在所有的,所以我一直停留在这个问题上一会儿。
我有表格要求来自客户端的数据认为POST工作和支付系统工作(虽然它只收取相同的金额),但我似乎无法找到代码将客户填入的$金额传递给“ >在不破坏的哈希银行网关。
我想也许通过URL发送该信息,或者创建一个会话。没有人有经验,这一点,并能帮助我吗?
非常感谢你提前!
这就是我将如何去做的:
从头开始用自己的多步表单(因为你想确认他们的名字和数量)。
通过jQuery AJAX将表单发布到PHP脚本。
在您的PHP脚本验证每一个字段。请记住,客户可以发送任何东西,所以你想确保他们写了一个实际的金额例如。
准备从PHP脚本发送到您银行的API端点的POST请求。使用用户提交的字段(验证它们之后)并生成可能需要的其他字段,例如时间戳和返回URL。
发送此POST请求到您的银行。
请阅读他们的回复。
处理它们的响应,例如,发送一个JSON到你的jQuery AJAX函数,并提供关于下一步做什么的信息,比如要重定向到哪个页面。这也是您可以配置PHP向您发送该通知邮件的地方。
您不必使用AJAX,但通过这样做,您可以根据需要向客户端显示一个很好的“处理...”视图。
您需要完全理解您银行要求的所有参数,例如$sha1hhash
来自何处。如果他们有文档差那么总会有另类,例如:
这就是说,如果你正在运行的公司,是新的PHP作为你提到过,你可能想考虑聘请专业人员为你做。这是值得的投资。
花了整整一天的时间,并试图了解PHP后,我找到了解决我的问题的方法。由于我找不到任何文档在线回答这个问题之前,我想如果有人需要它有一天能分享:
首先,你需要创建一个3步PHP的形式:
- 第一页一个标准表格,它向我的客户询问信息,过滤并清理它
- 它重定向到第二页,它充当邮件程序并收集信息。在标题中,它通过电子邮件将收集的信息发送给我,然后它调用付款网关。在正文中,它总结了先前发送的信息并为客户端提供了一个到网关的链接
- 第三页是网关的响应。它可以让客户知道任何错误或感谢他们的预订,并重新发送一封电子邮件与预订确认。
的一段代码我需要的是:
第1页:在报头 :
$amount=$_REQUEST['charge'];
询问由于其作为$充电
在第2页的保存量
in body - 显示付款金额:
<?php
$FIRSTNAME=$_REQUEST['firstname'];
$LASTNAME=$_REQUEST['lastname'];
$CHARGE=$_REQUEST['charge'];
echo <<<TEXT
<h3 style="text-align:left;padding-left:1em">Hello, $FIRSTNAME $LASTNAME, balance is $amount euros</h3>
TEXT;
?>
支付平台似乎正在工作,现在金额由客户端决定,无需访问数据库。
@LasVegasCoder你在评论中说的一切都是不正确的 –