首页 > 解决方案 > 如何修复动态传递给paypal api的数据,该数据拒绝使用php捕获

问题描述

我正在使用 paypal api 代码片段。

我正在尝试在我的网站上接受付款。

所以默认情况下,当我尝试通过以下文本声明将金额发布到贝宝时

$paypalUrl = $enableSandbox ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr';

// Product being purchased.
$itemName = 'xxxxxxxxxxxxxx';

$itemAmount = 20.00;

// Include Functions
require 'functions.php';

金额已正确发布到贝宝门户

但是当我尝试动态传递它时,我的项目从长远来看需要如下

$paypalUrl = $enableSandbox ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr';


// Product being purchased.
$itemName = 'xxxxxxxxxxxxxxxxxxxxx';

$itemAmount = $_POST['amount'];

// Include Functions
require 'functions.php';

金额不会发布到贝宝门户。

我什至尝试将金额保存在会话变量中

session_start();
$_SESSION['amounts'] = $_POST['amount'];

然后尝试在将其推送到贝宝门户所需的下一页访问它。

它仍然不起作用

任何想法的家伙

标签: phpformssessionpaypal

解决方案


我找到了一个解决方案,由于某种原因没有发布数据

我创建了一个信息记录集并将交易唯一 ID 传递给记录集

$pos = $_POST['item_number'];

/// 唯一编号

mysql_select_db($database_emirate, $emirate);
$query_trx = "SELECT * FROM transaction WHERE transid = '$pos' ORDER BY transid DESC";

现在,当根据上述语句提取所需的交易时,我将它传递给贝宝,就像这样

$itemAmount = $row_trx['amount'];

推荐阅读