PHP如何在PayPal购物车中使用IPN?

Aidanpt6

好的,所以我知道如何使用PayPal的IPN系统进行“立即购买”和“基本”付款,尽管我现在已经创建了一个基本商店,其中约有12种商品,可以使用购物车系统多次订购,并且变得有些复杂。

我的问题是,当项目在这种类型的代码中选择POST时:

mc_gross=0.02


item_number1=0003
item_number2=0012


payment_date=06:07:02 Feb 23, 2015 PST
payment_status=Completed
first_name=Name
[email protected]
[email protected]
last_name=lastname
[email protected]


custom=


num_cart_items=2
item_name1=Professional Website Design
item_name2=Additional Website Page

quantity1=1
quantity2=1


txn_type=cart
mc_currency=GBP

mc_gross_1=0.01
mc_gross_2=0.01

如何进行MySQL更新以添加每个不同的项目或多个项目及其价格?

例如,这是我将单个项目发布到数据库的条件...

// assign posted variables to local variables
    $item_name = $_POST['item_name'];
    $item_number = $_POST['item_number'];
    $payment_status = $_POST['payment_status'];
    if ($_POST['mc_gross'] != NULL)
        $payment_amount = $_POST['mc_gross'];
    else
        $payment_amount = $_POST['mc_gross1'];
    $payment_currency = $_POST['mc_currency'];
    $txn_id = $_POST['txn_id'];
    $receiver_email = $_POST['receiver_email'];
    $payer_email = $_POST['payer_email'];
    $custom = $_POST['custom'];
    $first_name = $_POST['first_name'];
    $last_name = $_POST['last_name'];

    if($payment_status == 'Completed'){
        $txn_id_check = mysql_query("SELECT `txn_id` FROM `payment_logs` WHERE `txn_id`='".$txn_id."'");
        if(mysql_num_rows($txn_id_check)!= 1){

            if($receiver_email == '[email protected]'){

                if($item_name == 'Personal Website Design'){

                    // Add TXN ID to LOG
                    mysql_query("INSERT INTO `payment_logs` VALUES ('','".$first_name."','".$last_name."','".$payer_email."','".$txn_id."','".$item_name."','£".$payment_amount."',NOW(),'0','','£0.00')");

如果用户选择了多个项目,我将如何更改代码和数据库以合并买家可以使用的各种不同选择?

德鲁·安杰尔(Drew Angell)

这是我一直用来解析IPN中购物车项目的代码段。

$i = 1;
$cart_items = array();   
while(isset($_POST['item_number' . $i]))   
{   
    $item_number = isset($_POST['item_number' . $i]) ? $_POST['item_number' . $i] : '';   
    $item_name = isset($_POST['item_name' . $i]) ? $_POST['item_name' . $i] : '';   
    $quantity = isset($_POST['quantity' . $i]) ? $_POST['quantity' . $i] : '';  
    $mc_gross = isset($_POST['mc_gross_' . $i]) ? $_POST['mc_gross_' . $i] : 0;
    $mc_handling = isset($_POST['mc_handling' . $i]) ? $_POST['mc_handling' . $i] : 0;
    $mc_shipping = isset($_POST['mc_shipping' . $i]) ? $_POST['mc_shipping' . $i] : 0;
    $custom = isset($_POST['custom' . $i]) ? $_POST['custom' . $i] : '';   
    $option_name1 = isset($_POST['option_name1_' . $i]) ? $_POST['option_name1_' . $i] : '';   
    $option_selection1 = isset($_POST['option_selection1_' . $i]) ? $_POST['option_selection1_' . $i] : '';   
    $option_name2 = isset($_POST['option_name2_' . $i]) ? $_POST['option_name2_' . $i] : '';   
    $option_selection2 = isset($_POST['option_selection2_' . $i]) ? $_POST['option_selection2_' . $i] : '';
    $option_name3 = isset($_POST['option_name3_' . $i]) ? $_POST['option_name3_' . $i] : '';   
    $option_selection3 = isset($_POST['option_selection3_' . $i]) ? $_POST['option_selection3_' . $i] : '';
    $option_name4 = isset($_POST['option_name4_' . $i]) ? $_POST['option_name4_' . $i] : '';   
    $option_selection4 = isset($_POST['option_selection4_' . $i]) ? $_POST['option_selection4_' . $i] : '';
    $option_name5 = isset($_POST['option_name5_' . $i]) ? $_POST['option_name5_' . $i] : '';   
    $option_selection5 = isset($_POST['option_selection5_' . $i]) ? $_POST['option_selection5_' . $i] : '';
    $option_name6 = isset($_POST['option_name6_' . $i]) ? $_POST['option_name6_' . $i] : '';   
    $option_selection6 = isset($_POST['option_selection6_' . $i]) ? $_POST['option_selection6_' . $i] : '';
    $option_name7 = isset($_POST['option_name7_' . $i]) ? $_POST['option_name7_' . $i] : '';   
    $option_selection7 = isset($_POST['option_selection7_' . $i]) ? $_POST['option_selection7_' . $i] : '';
    $option_name8 = isset($_POST['option_name8_' . $i]) ? $_POST['option_name8_' . $i] : '';   
    $option_selection8 = isset($_POST['option_selection8_' . $i]) ? $_POST['option_selection8_' . $i] : '';
    $option_name9 = isset($_POST['option_name9_' . $i]) ? $_POST['option_name9_' . $i] : '';   
    $option_selection9 = isset($_POST['option_selection9_' . $i]) ? $_POST['option_selection9_' . $i] : '';

    $btn_id = isset($_POST['btn_id' . $i]) ? $_POST['btn_id' . $i] : '';

    $current_item = array(   
                           'item_number' => $item_number,   
                           'item_name' => $item_name,   
                           'quantity' => $quantity, 
                           'mc_gross' => $mc_gross, 
                           'mc_handling' => $mc_handling, 
                           'mc_shipping' => $mc_shipping, 
                           'custom' => $custom,   
                           'option_name1' => $option_name1,   
                           'option_selection1' => $option_selection1,   
                           'option_name2' => $option_name2,   
                           'option_selection2' => $option_selection2, 
                           'option_name3' => $option_name3, 
                           'option_selection3' => $option_selection3, 
                           'option_name4' => $option_name4, 
                           'option_selection4' => $option_selection4, 
                           'option_name5' => $option_name5, 
                           'option_selection5' => $option_selection5, 
                           'option_name6' => $option_name6, 
                           'option_selection6' => $option_selection6, 
                           'option_name7' => $option_name7, 
                           'option_selection7' => $option_selection7, 
                           'option_name8' => $option_name8, 
                           'option_selection8' => $option_selection8, 
                           'option_name9' => $option_name9, 
                           'option_selection9' => $option_selection9, 
                           'btn_id' => $btn_id
                          );   

    array_push($cart_items, $current_item);   
    $i++;   
}

然后,您可以向数据库更新添加循环...

foreach($cart_items as $cart_item)
{
    /**
     * Update database with values like...
     * $cart_item['item_name']  
     * $cart_item['item_number']
     * $cart_item['quantity']
     * $cart_item['mc_gross']
     */
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Magento购物车中使用特殊公式

来自分类Dev

Prestashop:如何在购物车中获取虚拟产品以在 Address.php 中使用?

来自分类Dev

如何在购物车中使用 PHP 中的同名会话数组变量?

来自分类Dev

使用PHP的购物车

来自分类Dev

如何在购物车页面中使用 WooCommerce 存款 - 部分付款插件

来自分类Dev

PHP购物车

来自分类Dev

PHP购物车

来自分类Dev

PayPal IPN间歇性地不从表单提交将购物车/信息发布到PayPal

来自分类Dev

使用PHP和SQL的购物车

来自分类Dev

使用PHP和SQL的购物车

来自分类Dev

使用PHP创建简单的购物车

来自分类Dev

如何使用PHP生成唯一的行ID以唯一标识购物车中的购物车项目?

来自分类Dev

如何在woocommerce单个产品页面中使用javascript禁用添加到购物车按钮?

来自分类Dev

如何在购物应用中添加购物车功能?

来自分类Dev

如何在刷新时使php滚动到正确的高度?(使用WooCommerce添加到购物车操作)

来自分类Dev

如何在购物车更新时更新购物车中的其他属性?

来自分类Dev

如何在shopify ios sdk中打印购物车物品,删除购物车物品?

来自分类Dev

如何在Codeigniter中使我的购物车项目计数器为ajax?

来自分类Dev

在Big Commerce中使用cart.php将产品添加到购物车

来自分类Dev

在Big Commerce中使用cart.php将产品添加到购物车

来自分类Dev

PHP购物车数组

来自分类Dev

简单的PHP购物车

来自分类Dev

PHP Sessions购物车

来自分类Dev

Magento购物车的Paypal结帐规则?

来自分类Dev

Magento购物车的Paypal结帐规则?

来自分类Dev

在Shopify中使用AJAX添加到购物车

来自分类Dev

在 Sylius 中使用 Ajax 添加到购物车

来自分类常见问题

如何在woocommerce cart.php中启用更新购物车按钮?

来自分类Dev

如何在我的购物车中添加折扣码并将其发送到Paypal结帐?

Related 相关文章

  1. 1

    如何在Magento购物车中使用特殊公式

  2. 2

    Prestashop:如何在购物车中获取虚拟产品以在 Address.php 中使用?

  3. 3

    如何在购物车中使用 PHP 中的同名会话数组变量?

  4. 4

    使用PHP的购物车

  5. 5

    如何在购物车页面中使用 WooCommerce 存款 - 部分付款插件

  6. 6

    PHP购物车

  7. 7

    PHP购物车

  8. 8

    PayPal IPN间歇性地不从表单提交将购物车/信息发布到PayPal

  9. 9

    使用PHP和SQL的购物车

  10. 10

    使用PHP和SQL的购物车

  11. 11

    使用PHP创建简单的购物车

  12. 12

    如何使用PHP生成唯一的行ID以唯一标识购物车中的购物车项目?

  13. 13

    如何在woocommerce单个产品页面中使用javascript禁用添加到购物车按钮?

  14. 14

    如何在购物应用中添加购物车功能?

  15. 15

    如何在刷新时使php滚动到正确的高度?(使用WooCommerce添加到购物车操作)

  16. 16

    如何在购物车更新时更新购物车中的其他属性?

  17. 17

    如何在shopify ios sdk中打印购物车物品,删除购物车物品?

  18. 18

    如何在Codeigniter中使我的购物车项目计数器为ajax?

  19. 19

    在Big Commerce中使用cart.php将产品添加到购物车

  20. 20

    在Big Commerce中使用cart.php将产品添加到购物车

  21. 21

    PHP购物车数组

  22. 22

    简单的PHP购物车

  23. 23

    PHP Sessions购物车

  24. 24

    Magento购物车的Paypal结帐规则?

  25. 25

    Magento购物车的Paypal结帐规则?

  26. 26

    在Shopify中使用AJAX添加到购物车

  27. 27

    在 Sylius 中使用 Ajax 添加到购物车

  28. 28

    如何在woocommerce cart.php中启用更新购物车按钮?

  29. 29

    如何在我的购物车中添加折扣码并将其发送到Paypal结帐?

热门标签

归档