gpt4 book ai didi

php - IPN 如何将用户用户名添加到 Paypal 交易 (PHP)

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

所以我将这个未经测试的代码添加到我的 IPN

if (strcmp ($res, "VERIFIED") == 0) {
// check whether the payment_status is Completed
// check that txn_id has not been previously processed
// check that receiver_email is your PayPal email
// check that payment_amount/payment_currency are correct
// process payment and mark item as paid.

// assign posted variables to local variables
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$payment_status = $_POST['payment_status'];
$payment_amount = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];

include 'connect.php';
if($payment_status == "completed")
{
mysql_query('UPDATE `users` SET `is_member`= 1 WHERE `username` == $username')
}
else
{
mysql_query('UPDATE `users` SET `is_member`= 0 WHERE `username` == $username')
}

本质上是根据 payment_status 更改数据。我遇到的问题是 Paypal 不知道用户名是什么。我将如何向 Paypal 提供这些信息?我是通过订阅按钮还是更改 html 代码来完成?

最佳答案

这里有几个选项可以完成您的用户/成员(member)与 IPN 的协调,

  1. 在结帐时将“用户名”/“电子邮件”存储到您的数据库中,并在付款完成后,从 IPN POST-back 中读取 $payer_email 并将数据与您的数据库条目匹配(订单详情)

虽然这需要对您的代码进行最少的更改,但当用户使用不同的电子邮件帐户(PayPal 帐户)付款时,它会无法工作

  1. (推荐)使用“invoice”参数来唯一标识对帐订单。生成一个唯一的发票 ID,并在结账时将其与用户名/电子邮件一起存储到您的数据库中;将该“发票”标签传递给 PayPal,IPN 将在付款完成时返回相同的标签;获取 $invoice 值并将其映射到您的订单数据条目。

这里有一些引用以获取更多详细信息:

IPN Variables

在此处查看如何添加“发票”字段:

有关标准付款按钮,请参阅 HTML Variables for PayPal Payments Standard

有关 Express Checkout API,请参阅 SetExpressCheckout API Operation (NVP)

关于php - IPN 如何将用户用户名添加到 Paypal 交易 (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32635749/

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