【发布时间】:2020-06-05 21:05:31
【问题描述】:
用户收到一封电子邮件,其中包含来自我的组织的链接。 此链接直接指向我的帐户https://mdepayments.epdq.co.uk/ncol/test/ 即它没有首先引用我组织的网站。 这一切都在测试环境中,而不是现场(真钱)。
我正在尝试在 url 之后使用参数,因为有时用户可能不允许使用 html 电子邮件。
我还没有找到有关如何执行此操作的示例代码。 EPDQ 给了我一些伪代码。
示例网址
https://mdepayments.epdq.co.uk/ncol/test/orderstandard.asp?
amount=12500&
CURRENCY=PND&
LANGUAGE=en_US&
OrderID=order123_001&
PSPID=XXXXX
SHASIGN=XXXX0C75B23EDBAE523E165176882C19BEACB7E7DEB38955224186BC66C2678FEEA4E4CA2512789001CC7A4E68XXXX3EFD35242BFEFBB7B1D4D7E19CBE80XXXX
(出于安全考虑,SHASIGN 一些字符已更改为 XXXX &PSPID 已更改为 XXXXX)
网页结果
<--------start---------->
Payment confirmation
>
> Order reference : order123_001 Total charge : --- Beneficiary
> : ---
>
> An error has occurred; please try again later. If you are the owner or
> the integrator of this website, please log into the Barclaycard back
> office to see the details of the error.
<--------end--------->
我使用此代码生成 SHA
<?php
//- integration user details - //
$PW ="16char_SHA_code";
$PSPID = "XXXXX";
$OrderID ="order123_001";
$PaymentAmount =12500;
$CurrencyCode ="GBP";
$DigestivePlain =
"AMOUNT=" . $PaymentAmount . $PW .
"CURRENCY=" . $CurrencyCode . $PW .
"LANGUAGE=en_US" . $PW .
"ORDERID=" . $OrderID . $PW .
"PSPID=" . $PSPID . $PW .
"";
$strHashedString_plain = strtoupper(hash('sha512',($DigestivePlain)));
print $strHashedString_plain;
?>
我有一个可以通过我的组织网站运行的 HTML 表单。它允许用户输入详细信息,EPDQ 会成功付款。
$DigestivePlain 基于 EPDQ 示例,适用于我的 HTML 表单。
【问题讨论】:
-
抱歉,我不确定它是否 100% 清楚...您是否尝试使用 PHP 生成一个 URL 字符串,就像您标记为“示例 URL”的那个字符串?如果是这样,那么它甚至没有接近,我不确定你认为散列与它有什么关系 - 你检查过
$strHashedString_plain输出的内容吗?目前还不清楚这与在电子邮件中使用 HTML 有什么关系。你能更准确地描述发生了什么吗?假设我们对您的方案一无所知(因为我们不知道),请不要觉得您在高看我们 - 只需清楚且足够详细地告诉我们即可。 -
或者您是否尝试使用 PHP 从该 URL(用于访问您的站点)读取数据?从你说的我无法解决。如果是这样,您的代码也没有提及尝试这样做。
-
@ADyson 感谢您的 cmets。通过一些更正,我现在有了一个基本的支付屏幕工作。希望我现在可以改进它。标签 [EPDQ] 怎么样?