link [PHP] 的 ePDQ 付款

ePDQ Payment by link [PHP]

用户收到一封来自我的组织的电子邮件,其中包含 link。 这 link 直接转到我的帐户 https://mdepayments.epdq.co.uk/ncol/test/ 即它不首先引用我组织的网站。 这都是在测试环境而不是现场(真钱)。

我正在尝试在 url 之后使用参数,因为 html 用户有时可能不允许发送电子邮件。

我没有找到有关如何执行此操作的示例代码。 我从 EPDQ 得到了一些伪代码。

样本url

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 表格。

这个PHP是为了生成SHASIGN

<?php

    //- integration user details - //
    $PW ="MyShaInPassPhrase";
  $PSPID = "MyPSPID"; 
  $OrderID ="order123_001";
  $PaymentAmount =12500;
  $CurrencyCode ="GBP";


//important to order alphabetically
$DigestivePlain =
"AMOUNT=" . $PaymentAmount . $PW .
"CURRENCY=" . $CurrencyCode . $PW .
"LANGUAGE=en_US" . $PW .
"ORDERID=" . $OrderID . $PW .
"PMLISTTYPE=2". $PW .
"PSPID=" . $PSPID . $PW .
"";


$strHashedString_plain = strtoupper(hash('sha512',($DigestivePlain)));
print $strHashedString_plain;
?>

现在 url

PSPID:5 个字符的 PSPID(不是 XXXXX) SHASIGN - 由超过 128 个字符的 php 代码创建(不是 YYYY...)

https://mdepayments.epdq.co.uk/ncol/test/orderstandard.asp ?AMOUNT=12500&CURRENCY=GBP&LANGUAGE=en_US&ORDERID=order123_001&PMLISTTYPE=2&PSPID=XXXXX& SHASIGN=YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

这使我进入 EPDQ 卡选择屏幕,然后进入支付屏幕并成功完成交易。