微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Worldpay响应检查MAC值

如何解决Worldpay响应检查MAC值

我正在开发一个小型PHP应用程序,允许用户使用worldpay hosted integration在我的网站上付款。

我正在使用https://secure-test.worldpay.com/jsp/merchant/xml/paymentService.jsp的worldpay测试环境,也正在使用test cards

我在网站上的/index.PHP上有一个表单,提交后它会将表单值(金额/ cartId /货币/电子邮件/等...)发布到/xml.PHP,在其中捕获值并插入他们到我的XML。使用cURL,我将此XML发送给worldpay,然后将用户重定向到worldpay付款页面以完成购买。到目前为止一切正常。

我有the docs中所述的设置自定义结果URL。

$successURL = urlencode( "/callback.PHP?paymentStatus=success");
$failureURL = urlencode( "/callback.PHP?paymentStatus=failure" );
$pendingURL = urlencode( "/callback.PHP?paymentStatus=pending" );
$errorURL = urlencode( "/callback.PHP?paymentStatus=error" );

在我的callback.PHP中,我正在检查$_GET['paymentStatus']并使用index.PHP重定向$_SESSION['paymentStatus']。像这样的东西

$paymentStatus = $_GET['paymentStatus'];

if( $_SESSION['paymentStatus'] = 'success'; ){
    header('Location: index.PHP');
    exit();
}
// etc

在我的index.PHP中,我正在检查$_SESSION['paymentStatus']并相应地显示一条消息。

到目前为止,在我的测试过程中,所有功能似乎都可以正常工作,但是我对securing payments with the MAC感到困惑。 worldpay管理员已为我分配了一个MAC Secret值,但不确定如何使用它。

我知道我需要将worldpay响应中发送的MAC值与我提供的MAC值进行比较,以确保它是真实的。问题是我不知道在哪里检查their MAC response

当我在测试环境中提交(成功)付款时,我将被重定向回到索引页面,并显示我的自定义成功消息。当我查看控制台并检查“网络”选项卡时,我可以看到带有响应标头的各种文件,但是它们都没有包含示例的内容

https://www.mymerchant.com/Success.jsp?orderKey=MYADMINCODE^MYMERCHANT^T0211010&paymentStatus=AUTHORISED&paymentAmount=1400&paymentCurrency=GBP&mac2=fdbdbc16fbe8d8e56159fc332a5293e32b3d6aea61f10849da5c28819ff56711

我在“网络”标签中看到的某些文件

https://hpp-sandBox.worldpay.com/app/hpp/62-0/payment/result?validInputs=true&ajax=true

https://example.com/callback.PHP?paymentStatus=success

ddc.html

index.PHP

process

根据their docs;

Worldpay到结果URL的重定向消息中包含许多 参数包括

orderKey,paymentAmount,paymentCurrency,paymentStatus

我已经在我的callback.PHP添加了以下内容

print_r($_GET);
die();

这就是我所看到的;

Array ( [paymentStatus] => success )

关于应该在哪里检查这些参数的任何想法?是不是我在使用测试环境而不是实时环境,也许这些值不是在测试环境中发送的?

他们的文档到处都是...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。