php - Paypal 与 DIY 购物车的整合

标签 php paypal

有人可以给出一个简单的实际示例,将 paypal 与 DIY 购物车集成在一起,效果非常好。

我已经实现了自己的购物车,只是想将总费用传递给 paypal 并引导用户在那里付款。

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

2) PHP 实现。

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

唯一的问题是它不太好用!

我从 paypal 沙盒中得到这个:

未找到

在此服务器上找不到请求的 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 标准实现( controllerview )。

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

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

希望对您有所帮助。

关于php - Paypal 与 DIY 购物车的整合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24669749/

相关文章:

php - Laravel back() 或 redirect() 在 Traits 中不起作用

javascript - PHP 未从 XMLhttprequest 接收数据

c# - asp.net mvc 发送 httpstatuscode 200 但不返回

php - CSS 如何防止 html 文件的主体和包含的文件合并?

javascript - 如何在 Facebook 中自定义邀请好友对话框(发送生命)并具有选择所有好友的能力?

php - 圆 Angular

php - 默认情况下使用 paypal 自适应付款显示付款详细信息

paypal - 如何将多行paypal ipn变量插入mysql数据库

paypal - 在 PayPal 中拥有一个负余额的沙盒帐户

paypal - 捕获付款 : The requested action could not be performed, 语义不正确,或业务验证失败