通过PHP传递信息以获得支付平台

时间:2017-10-07 14:20:22

标签: php post get payment-gateway payment

我有一个基于服务的公司和一个完全用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;在没有打破哈希的银行网关上。

我想的可能是通过网址发送此信息或创建会话。有没有人有这方面的经验,可以帮助我吗?

提前非常感谢你!

2 个答案:

答案 0 :(得分:-1)

我会这样做:

  1. 从头开始使用您自己的多步骤表单(因为您要确认其名称和金额)。

  2. 通过jQUery AJAX将表单发布到PHP脚本。

  3. 在PHP脚本中验证每个字段。请记住,客户端可以发送任何,因此您需要确保他们编写实际金额,例如。

  4. 准备您要从PHP脚本发送到银行API端点的POST请求。使用用户提交的字段(在验证它们之后)并生成您可能需要的任何其他字段,例如时间戳和返回URL。

  5. 将此POST请求发送给您的银行。

  6. 阅读他们的回复。

  7. 处理他们的回复,例如将jSON发送回jQuery AJAX函数,并提供有关下一步操作的信息,例如要重定向到哪个页面。您可以在此处配置PHP以向您发送通知电子邮件。

  8. 你不必使用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;
?>

支付平台似乎正在运行,现在客户已决定金额而无法访问数据库。