繁体   English   中英

贝宝与DIY购物车的集成

[英]Paypal integration with a DIY shopping cart

能否一个简单的例子来说明贝宝与DIY购物车整合的成功例子,该购物车血腥效果很好。

我已经实现了自己的购物车,并且一心一意地希望将总费用传递给Paypal,并指示用户在那里付款。

这个包( https://github.com/drewjoh/phpPayPal )似乎符合我的要求:

1)它涉及到使用一个简单的php include语句将其合并-没有Composer或我也必须弄清楚的任何其他令人讨厌的包bag。

2)PHP实现。

3)简单的类和函数调用。

唯一的问题是,它无法正常工作!

我是从贝宝沙箱中得到的:

未找到

在此服务器上找不到请求的URL \\ cgi-bin \\ ppapi。

此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。

api-3t.sandbox.paypal.com端口443上的Apache服务器

这是我的代码。 我如何使它血腥运作?

某些机构确实需要编写全面的分步教程,说明如何使用Paypal API等以及特定的每种特定脚本语言的实际工作示例,而不仅仅是无用的paypal变量定义。 贝宝(Paypal)开发人员页面完全无用-令人困惑,没有具体示例,并且散布在各处。

<?php
        header('Content-Type: text/html; charset=utf8');
        session_start();
        require_once "phpPayPal.php";
/*
        echo "<pre>";
        print_r($_POST);
        echo "</pre><br><br>";
*/        
        function doPaypalExpressCheckout()
        {
            // Create instance of the phpPayPal class
            $paypal = new phpPayPal(true);

            // Set the amount total for this order.
            $paypal->amount_total = '50.49';
/*        
            $paypal->email = $_SESSION["Email"];
            $paypal->first_name = $_SESSION["GivenName"];
            $paypal->middle_name = $_SESSION["MiddleName"];
            $paypal->last_name = $_SESSION["Surname"];
            $paypal->suffix = "";
            $paypal->address1 = $_SESSION["Address"];
            $paypal->address2 = "";
            $paypal->city = $_SESSION["Suburb"];
            $paypal->state = $_SESSION["State"];
            $paypal->postal_code = $_SESSION["Postcode"];
            $paypal->phone_number = $_SESSION["Phone"]." / ".$_SESSION["Mobile"];

            $paypal->country_code = get_country_code($_SESSION["UserCountry"]);
            $paypal->currency_code = get_currency_code($_SESSION["UserCountry"]);
*/    
            // Make the request
            $paypal->set_express_checkout();

            // If successful, we need to store the token, and then redirect the user to PayPal
            if (!$paypal->_error)
            {
                // Store your token
                $_SESSION['token'] = $paypal->token;

                // Now go to PayPal
                $paypal->set_express_checkout_successful_redirect();
            }
/*
            for ($nI = 0; $nI < count($_SESSION["arrayShoppingCart"]); $nI++)
            {
                //**********************************************************************
                //  array("CategoryIndex"=>$nCategoryIndex,
                //          "ItemIndex"=>$nItemIndex,
                //        "Description"=>$arrayItems[$nItemIndex]["Description"],
                //        "Quantity"=>intval($nQuantity),
                //        "Price"=>floatval($arrayItems[$nItemIndex]["Price"]),
                //        "Volume"=>floatval($arrayItems[$nItemIndex]["Volume"]),
                //        "Postage"=>floatval($arrayItems[$nItemIndex]["Postage"]),
                //        "Options"=>$arrayOptions);
                //***********************************************************************                                                                                                    
                $arrayCartItem = $_SESSION["arrayShoppingCart"][$nI];
                $strCategory = $_SESSION["arrayCategories"][$arrayCartItem["CategoryIndex"]][0];
                $nInventoryIndex = $arrayCartItem["ItemIndex"];
                $arraInventoryItem = $_SESSION["arrayInventory"][$strCategory][$nInventoryIndex];
                $arrayItemCartOptions = $arrayCartItem["Options"];
            }
*/    
        }

        if (isset($_POST["Paypal"]))
        {
            doPaypalExpressCheckout();
        }

?>

看一下Opencart PayPal Standard的实现( 控制器视图 )。

它做得很好并且易于理解。

在控制器ControllerPaymentPPStandard ,方法index将创建贝宝产品表单并将其重定向(提交表单)到贝宝。 然后,贝宝将对notify_url ,方法callback发出回调请求,并根据付款状态执行各种操作。

我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM