【发布时间】:2018-06-08 19:26:00
【问题描述】:
我已将 PayPal SDK 与沙盒帐户集成。它适用于我的网站,带有自定义包名称及其价格。比如基本包 79 美元、专业包 150 美元和专业包 400 美元。一旦用户点击继续按钮,它就会重定向到带有基本包和 79 美元价格的 PayPal。对于其他包我必须做什么逻辑?
我尝试将数组 ($basic, $pro, $professional) 插入到项目对象中,但 Setprice() 不接受数组。
我只是坚持在这里输入代码,即使我不知道如何提问非常抱歉。
这是我的 checkout.php
if ($_POST) {
$priceBasic= (is_numeric($_POST['b']) ? (int)$_POST['b'] : 89);
$pkgBasic = $_POST['basic'];
$pricePro= (is_numeric($_POST['p']) ? (int)$_POST['p'] : 175);
$pkgPro = $_POST['pro'];
$priceUltra= (is_numeric($_POST['u']) ? (int)$_POST['u'] : 449);
$pkgUltra = $_POST['ultra'];
$shipping = 0.0;
$total = $priceBasic + $shipping;
//PAYER INSTANT
$payer = new Payer();
$payer->setPaymentMethod('paypal');
// DEFINING ITEMS
// $packages = [$pkgBasic, $pkgPro, $pkgUltra];
// $price = [$priceBasic, $pricePro, $priceUltra];
$item = new Item();
$item->setName($packages)->setCurrency('USD')->setQuantity(1)-
>setPrice($priceBasic);
//PACKAGES LIST
$itemList = new ItemList();
$itemList->setItems([$item]);
$details = new Details();
$details->setShipping($shipping)
->setSubTotal($total);
$amount = new Amount();
$amount->setCurrency('USD')->setTotal($total)
->setDetails($details);
$transaction = new Transaction();
$transaction->setAmount($amount)->setItemList($itemList)-
>setDescription('Hello Hash Thanks for first paypal')-
>setInvoiceNumber(uniqid());
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl(SITE_URL.'/pay.php?success=true')
->setCancelUrl(SITE_URL.'/pay.php?success=false');
$payment = new Payment();
$payment->setIntent('sale')->setPayer($payer)
->setRedirectUrls($redirectUrls)->setTransactions([$transaction]);
try {
$payment->create($paypal);
} catch (Exception $e) {
die($e);
}
$aprovalUrl = $payment->getApprovalLink();
// echo $aprovalUrl;
header("location:".$aprovalUrl);
}
?>`
【问题讨论】: