解析PayPal项目正确返回值

时间:2016-01-07 20:29:57

标签: php arrays parsing paypal

我在我的网站上集成了paypal支付方式,我把它全部运行得很好,我被卡在了这一点,Paypal将我发送到我的返回网址,其中包含有关客户和购买的商品的信息

我在确认数组上得到以下结构

Array
(
    some customer info
    ...
    [L_NAME0] => Frame%20Rojo
    [L_NAME1] => External%20Hard%20Disk
    [L_NUMBER0] => PD1002
    [L_NUMBER1] => PD1003
    [L_QTY0] => 1
    [L_QTY1] => 1
    [L_TAXAMT0] => 0%2e00
    [L_TAXAMT1] => 0%2e00
    [L_AMT0] => 29%2e00
    [L_AMT1] => 100%2e00
    ...
)

我感兴趣的是将整个项目清单,数量和价格保存到我的数据库中,以便我以后可以跟踪已发送的内容和不发送的内容。

我的问题在于,正如您所看到的,paypal会向我返回一组名称为"某些内容+ n" (L_NUMBER0等),所以,我不能在我的DDBB上设置一个表格,因为我不知道用户会得到多少项目。我可以将它保存在2个表:purchase和items_per_purchase之类的结构,但我仍然面临解析该数组的问题。

最好的方法是通过它来查看每次购买需要保存多少项目?

我想到了一些看到的小伙子:

while(if(isset($_GET['L_NUMBER'.$cont]))) {
    // save to ddbb
    L_NAME.$cont
    L_NUMBER.$cont
    ...
    cont++
} 

...并增加一些计数器,但我想知道是否有更好的解决方案。

1 个答案:

答案 0 :(得分:0)

我认为您的解决方案很好,但if测试中不需要while ...

$cont = 0;
while (isset($_GET['L_NUMBER' . $cont])) {
    // save to database after assembling array keys as follows...
    // L_NAME . $cont
    // L_NUMBER . $cont
    // etc.

    cont++;
}

你永远不应该相信来自$_GET的输入。我建议使用parameterized queries with PDO