由于不太了解如何处理和处理包含多个项目的购物车的数组,我的 PHP 自定义 Paypal IPN 脚本遇到了一些问题。
我想要实现的是,对于每个产品,都会使用其唯一 ID 向服务器发出 POST 调用以减少该产品的库存数量。
Paypal IPN 将项目编号返回为item_number_1
、item_number_2
、item_number_3
等,我可以通过以下方式获取数据:
$id_exp = $_POST['/^item_number(\d*)$/'];
$qty_exp = $_POST['/^quantity(\d*)$/'];
我需要做的是制作$id_exp
一个数组,并file_get_contents
为每个产品运行一个 POST 到带有 ID 和 QTY 的 URL,这可以实现吗?
简而言之,最终结果将是 IPN 脚本访问我的股票监听器(并在此处使用 GET 仅用于演示):http://www.site.com/listener?prod_id=12345&decrement=3
更新:我现在已经正确打印了项目 ID 数组123,456,789
,存储在一个名为的 var 中$id_string
,现在我尝试为数组中的每个 ID 运行以下命令:
foreach ($id_string as $value){
$url = 'http://myserver.com';
$data = array('product_id' => $value, 're_stock' => 'true');
$get = array();
foreach($data as $k => $v){
$post[] = $k . '=' . urlencode($v);
}
$post = implode('&', $post);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $post
)
);
$context = stream_context_create($opts);
file_get_contents($url, false, $context);
}
然而,什么都没有发生。任何反馈在此阶段表示赞赏。