将外部凭证存入PayPal付款

时间:2016-02-23 10:34:32

标签: php paypal paypal-rest-sdk

我通过rest-api-sdk(PayPal-PHP-SDK)使用php付款。

这是我创建付款的一个小捷径:

    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代金券)支付部分全部付款。因此,在客户点击我的页面上的按钮以使用paypal付款之前,他会将凭证代码放入。

我的问题,如何说paypal,付款的一部分已经由凭证支付? 该法案就像:

item1:    10.00$
item2:    20.00$
taxes:     5.70$
------------------
total:    35.70$
voucher: -10.00$
------------------
to pay:   25.70$

目前我将物品添加到物品清单中,其中包含负值(凭证的价值)且无税。 该法案就像:

item1:    10.00$
item2:    20.00$
voucher: -10.00$
taxes:     5.70$
-----------------
total:    25.70$

这是正确/唯一的方式还是有其他可能性来做这种情况?

1 个答案:

答案 0 :(得分:0)

是的,这是处理凭证的正确方法。买方可以在PayPal结账页面查看详细商品价值和优惠券。