0

我创建了一个 MYBB 论坛wadakela.xyz。我在其中添加了新的积分奖励系统。它与CoinPayments集成供用户购买。

图片:https ://i.imgur.com/sI7Edly.png

现在,例如我有 5 个奖项,用户购买了第 3 个。我编写了脚本文件,当用户成功(来自投币支付的回调)页面时,会向我发送一封电子邮件和 PM,通知“”用户购买了带有“此奖励 ID ”的奖励。

imgs:https ://imgur.com/a/fzR1qQl

最初,当它没有与硬币支付集成时,当有人通过奖励页面点击购买按钮时,我使用 POST 方法从表单中获取奖励 ID,实际上工作正常。我可以使用此代码获得正确的 ID。

//awards page
<input type="hidden" name="award" value="{$award['aid']}">

//success page
$award_id = $_POST['award'];

现在它已与CoinPayments集成,它不会直接进入success.php,因此 POST 方法不起作用。如果我没记错的话,我可以通过cookie(或会话可能?)在success.ph p中获得奖励 ID。但是,我无法将奖励 ID 存储在 cookie 中。

我们知道,现在是这样的:

-awards 页面 -> coinpayments 网站 -> 成功页面。

要从奖励页面获取奖励 ID到成功页面,我尝试使用以下代码将奖励 ID 存储到 cookie 中:

//in awards page
setcookie("award",$award['aid'], time()+300);

//in the form
<input type="hidden" name="award" value="{$award['aid']}">


....processing with coinpayments....



//in success (callback) page
$award_id = $_COOKIE["award"];

echo $award_id;  //pm + email actually.

setcookie("award",$award_id, time()-60);

在成功页面中,$award_id 总是返回“5”。也许是因为列出了 5 个奖项?

除此之外,整个过程非常顺利并且按预期工作。我想要做的是在 cookie 中存储正确的奖励 ID。

如果有人能帮助我解决这个问题,我将不胜感激。如果有任何替代方法可以实现这一点,我也想知道它。

而且,我真的需要在今天之前完成它..

如果您需要更多信息,请告诉我。

谢谢你。:)

4

1 回答 1

0

成功 URL 不能用作 IPN。相反,IPN 需要返回 POST 数据。

<input type="hidden" name="ipn_url" value="https://wadakela.xyz/YOURIPNFILE.php">
<input type="hidden" name="ipn_type" value="simple">

此处 YOURIPNFILE 将返回已发布的数据。

于 2020-06-02T12:36:38.507 回答