我有一个基于服务的公司和一个完全用Dreamweaver创建的网站。它没有购物车,我们销售的服务价格完全相同,因此包含一个服务是没有意义的。
我的银行为我提供了一个自动付款的支付网关,允许客户选择自己的货币,但它是为带有购物车或数据库的网站构建的。
所以我试图找到一个解决方案:
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工作和支付系统工作(虽然它只收取相同的金额)但我似乎无法找到代码将客户填写的$金额传递给&# 34;&GT;在没有打破哈希的银行网关上。
我想的可能是通过网址发送此信息或创建会话。有没有人有这方面的经验,可以帮助我吗?
提前非常感谢你!
答案 0 :(得分:-1)
我会这样做:
从头开始使用您自己的多步骤表单(因为您要确认其名称和金额)。
通过jQUery AJAX将表单发布到PHP脚本。
在PHP脚本中验证每个字段。请记住,客户端可以发送任何,因此您需要确保他们编写实际金额,例如。
准备您要从PHP脚本发送到银行API端点的POST请求。使用用户提交的字段(在验证它们之后)并生成您可能需要的任何其他字段,例如时间戳和返回URL。
将此POST请求发送给您的银行。
阅读他们的回复。
处理他们的回复,例如将jSON发送回jQuery AJAX函数,并提供有关下一步操作的信息,例如要重定向到哪个页面。您可以在此处配置PHP以向您发送通知电子邮件。
你不必使用AJAX,但通过这种方式,你可以展示一个很好的&#34;处理......&#34;如果您愿意,请查看您的客户。
您需要完全了解银行请求的所有参数,例如$sha1hhash
的来源。如果他们的文档很差,那么总有其他选择,例如:
那就是说,如果您正在运营公司,而且您已经提到了PHP新手,那么您可能需要考虑聘请专业人士来为您完成。值得投资。
答案 1 :(得分:-1)
花了一整天并尝试了解PHP后,我找到了解决问题的方法。由于我在网上找不到任何回答此问题的文档,如果有人需要,我想分享一下:
首先,您需要创建一个3步PHP表单:
我需要的代码是:
第1页:要求将到期金额保存为$ charge
第2页: 在标题中:
$amount=$_REQUEST['charge'];
在体内 - 显示要支付的金额:
<?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;
?>
支付平台似乎正在运行,现在客户已决定金额而无法访问数据库。