Php Worldpay响应检查MAC值

Php Worldpay响应检查MAC值,php,xml,redirect,url-parameters,worldpay,Php,Xml,Redirect,Url Parameters,Worldpay,我正在开发一个小的PHP应用程序,允许用户在我的网站上使用 我正在使用worldpay测试环境,我也在使用 我在我的网站上有/index.php的表单,当提交表单时,它会将表单值(amount/cartId/currency/email/etc…)发布到/xml.php中,在那里我捕获这些值并将它们插入到我的xml中。我使用cURL将此XML发送到worldpay,然后将用户重定向到worldpay支付页面以完成购买。到目前为止都在工作 我已按照中所述设置自定义结果URL 在我的callback

我正在开发一个小的PHP应用程序,允许用户在我的网站上使用

我正在使用worldpay测试环境,我也在使用

我在我的网站上有
/index.php
的表单,当提交表单时,它会将表单值(amount/cartId/currency/email/etc…)发布到
/xml.php
中,在那里我捕获这些值并将它们插入到我的xml中。我使用cURL将此XML发送到worldpay,然后将用户重定向到worldpay支付页面以完成购买。到目前为止都在工作

我已按照中所述设置自定义结果URL

在我的
callback.php
中,我正在检查
$\u GET['paymentStatus']
并使用
$\u会话['paymentStatus']
重定向到
index.php
。有点像

$paymentStatus = $_GET['paymentStatus'];

if( $_SESSION['paymentStatus'] = 'success'; ){
    header('Location: index.php');
    exit();
}
// etc
在我的
index.php
中,我正在检查
$\u会话['paymentStatus']
,并相应地显示一条消息

到目前为止,在我的测试过程中,所有这些似乎都在工作,但我对此感到困惑。worldpay管理员已经为我分配了一个
MAC Secret
值,但我不确定该如何使用它

我知道我需要将worldpay回复中发送的MAC值与我收到的MAC值进行比较,以确保其真实性。问题是我不知道去哪里查

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

我在“网络”选项卡中看到的一些文件是:

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
根据,

Worldpay指向结果URL的重定向消息包含以下内容: 参数包括:

orderKey、paymentAmount、paymentCurrency、paymentStatus

我已将以下内容添加到我的
callback.php

print_r($_GET);
die();
这就是我所看到的

Array ( [paymentStatus] => success )
关于我应该在哪里检查这些参数,有什么想法吗?是否我使用的是测试环境而不是活动环境,也许这些值没有在测试环境中发送


他们的文档到处都是…

mac在URL中,正如您所发布的,在
mac2
参数中。将其解析出来,按以下顺序(根据其文档)获取这些参数的值:
orderKey:paymentAmount:paymentCurrency:paymentStatus
,然后运行,您应该在回调中的
callback.php
中检查所有这些参数。php在
$\u GET
上执行
打印
,然后执行
die
,你应该看到你所有的参数。您应该能够提取这四个参数,然后运行
哈希\u hmac
。我现在在打电话,所以我不能写太多的代码,不幸的是,根据,你还需要进入他们的管理员界面,打开
Send URL parameters
mac在URL本身,正如你所发布的
mac2
参数。将其解析出来,按以下顺序(根据其文档)获取这些参数的值:
orderKey:paymentAmount:paymentCurrency:paymentStatus
,然后运行,您应该在回调中的
callback.php
中检查所有这些参数。php在
$\u GET
上执行
打印
,然后执行
die
,你应该看到你所有的参数。您应该能够提取这四个参数,然后运行
哈希\u hmac
。我现在在打电话,所以我不能写太多的代码,不幸的是,根据,你还需要进入他们的管理员界面,打开
Send URL parameters
Array ( [paymentStatus] => success )