ePDQ通过链接[PHP]付款

问题描述 投票:0回答:1

用户收到一封电子邮件,其中包含我组织的链接。该链接直接指向我的帐户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

(出于安全考虑,将SHASHA的某些字符更改为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 payment
1个回答
1
投票

此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;
?>

现在是网址

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.