如何从2checkout响应过程中获取所有产品名称和ID

时间:2016-06-21 22:08:21

标签: php integration payment 2checkout

如果您发现此问题愚蠢,请提前抱歉。但我正在我的购物车中集成2checkout支付系统。并以这种方式2checkout响应

www.mydomain.com/checkout.php/?middle_initial=&li_0_name=Jackets&li_0_productid=4&li_1_name=shirts&li_1_productid=2

现在我想获得所有产品ID和名称。

2 个答案:

答案 0 :(得分:1)

之前我没有使用过2checkout,但建议是通过preg_match_all使用正则表达式从网址中获取产品的ID,因为它是固定模式。我试过这个,它抓住4和1作为产品ID:

$url = "www.mydomain.com/checkout.php/?middle_initial=&li_0_name=Jackets&li_0_productid=4&li_1_name=shirts&li_1_productid=2";
$matches = null;
preg_match_all('/li_\d+_productid=(?<productIds>\d+)/', $url, $matches);
print_r($matches['productIds']);

现在输出:

Array ( [0] => 4 [1] => 2 )

希望这有帮助。

答案 1 :(得分:0)

这是答案

$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$matches = null;
preg_match_all('/li_\d+_productid=(?<productIds>\d+)/', $url, $matches);
print_r($matches['productIds']);
$count = count($matches['productIds']); 
for ($x = 0; $x < $count; $x++) {
echo $_GET['li_'.$x.'_productid'];
echo $_GET['li_'.$x.'_name'];
}

首先使用来自url的preg匹配然后运行循环来查找product_id的总数。