gpt4 book ai didi

php - 仅在 Paypal 交易成功后运行功能并重定向到我的页面

转载 作者:太空宇宙 更新时间:2023-11-03 16:34:18 24 4
gpt4 key购买 nike

我正在构建一个页面,其中包含一些我将通过 paypal 出售的商品。首先我做了固定价格的通用按钮,点击后你重定向到 paypal 页面,你的值是这样的:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top" class="payPalBtn">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="test@gmail.com">
<input type="hidden" name="item_name" value="test">
<input type="hidden" name="button_subtype" value="services">
<input type="hidden" name="no_note" value="0">
<input type="hidden" name="amount" value="10.00">
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest">
<input type="image" src="https://www.paypalobjects.com/he_IL/IL/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>

但这很危险,因为客户端可以更改数量值……这可能会产生一些问题。所以我选择使用他们的 API - 这意味着,在服务器端发送一些值,如价格、金额...并返回 token id。之后再次发送一些数据,最后付款转移,一切都结束了。其中一个参数是: $PayPalReturnURL ,这是成功结果后的页面,用户重定向到。

现在,在我这样做并验证付款通过后,我想启动一个私有(private)程序来执行一些私有(private)功能(每次我运行它都会花钱),应该只在付款通过后完成一次。例如,我重定向的页面是:payment.php,我只是在那里开始我的功能。

问题是:我如何确定用户不会直接转到该 PHP 地址并自动启动此功能。我有什么选择可以保证这个函数在 paypal 重定向到我之后只运行一次。

最佳答案

你把事情搞复杂了。以下是我如何整合 Paypal 。

与输入价格一起在隐藏字段中发送交易编号,如下所示。

<input type="hidden" name="amount" value="10.00">
<input type="hidden" name="tx_id" value="1234">

在生成此表单之前,插入一条数据库记录,交易状态为待处理,如下所示。

tx_id = 1234
amount = 10.00
tx_status = 0 // pending

当交易完成时,paypal 将返回金额、您的 tx_id 和交易状态。使用 SELECT 查询,您可以检查返回的金额是否与数据库表中的金额相同。

SELECT amount FROM table_name WHERE tx_id = 1234

然后,如果它是正确的,将 tx_status 更改为已付款。否则将其标记为欺诈。

关于php - 仅在 Paypal 交易成功后运行功能并重定向到我的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17725297/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com