【发布时间】:2016-06-05 03:28:21
【问题描述】:
我通过 rest-api-sdk (PayPal-PHP-SDK) 使用 php 进行 paypal 付款。
这是我如何创建付款的小快捷方式:
foreach ($positions as $position) {
$item = new Item();
$item->setName($position->getPosition_id() . " " . $position->getPosition_typ());
$item->setCurrency($currency);
$item->setQuantity(1);
$item->setPrice($position->getItemPrice())
$item->setTax($position->getMwst_wert());
array_push($itemArray, $item);
}
$subtotal = ($subtotal);
$itemList->setItems($itemArray);
$details->setTax($fullTaxes);
$details->setSubtotal($subtotal);
$details->setShipping(0.0);
$amount->setCurrency($currency);
$amount->setTotal($total);
$amount->setDetails($details);
$transaction->setAmount($amount);
$transaction->setItemList($itemList);
$transaction->setDescription( "Payment for #".$paymentId );
$transaction->setInvoiceNumber(uniqid());
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("$baseUrl&success=true")
->setCancelUrl("$baseUrl&success=false");
$payment->setIntent(self::PAYMENT_INTENT_SALE);
$payment->setPayer($payer);
$payment->setRedirectUrls($redirectUrls);
$payment->setTransactions(array($transaction));
$payment->create($apiContext);
现在客户可以使用代金券(不是贝宝代金券)支付全部款项的一部分。因此,在客户点击我页面上的按钮以使用贝宝付款之前,他会输入优惠券代码。
我现在的问题,如何说paypal,部分付款已经通过凭证支付? 所以账单是这样的:
item1: 10.00$
item2: 20.00$
taxes: 5.70$
------------------
total: 35.70$
voucher: -10.00$
------------------
to pay: 25.70$
目前,我在 Itemlist 中添加了一个负值(代金券的价值)且没有税的项目。 所以账单是这样的:
item1: 10.00$
item2: 20.00$
voucher: -10.00$
taxes: 5.70$
-----------------
total: 25.70$
这是正确/唯一的方法还是有其他可能性来做这种情况?
【问题讨论】:
标签: php paypal paypal-rest-sdk