Paypal与DIY购物车集成

时间:2014-07-10 06:24:43

标签: php paypal

可以有人给出一个简单的wake示例,说明paypal集成了一个血腥的DIY购物车。

我已经实施了自己的购物车,并且想要将总费用转嫁给PayPal并指示用户付款。

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

1)它涉及使用一个简单的php include语句来合并它 - 没有作曲家或任何其他恼人的包袱,我也必须弄清楚。

2)PHP实施。

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

唯一的问题是它不能很好地工作!

我从paypal沙箱得到这个:

未找到

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

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

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

这是我的代码。我怎么让它血腥好工作?

有些机构真的需要编写一个全面的分步教程,介绍如何使用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();
        }

?>

1 个答案:

答案 0 :(得分:0)

查看Opencart PayPal标准版实施(controllerview)。

做得很好,也很容易理解。

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

我希望这会有所帮助。