可以有人请给出一个简单的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();
}
?>
答案 0 :(得分:0)
查看Opencart PayPal标准版实施(controller和view)。
做得很好,也很容易理解。
在控制器ControllerPaymentPPStandard
中,方法index
它将创建paypal产品表单并重定向(提交表单)到paypal。然后,paypal将在notify_url
,方法callback
上发出回电请求,并根据付款状态执行各种操作。
我希望这会有所帮助。