2016-02-23 2 views
0

Я делаю PayPal-платеж с помощью php через rest-api-sdk (PayPal-PHP-SDK).Положить внешний ваучер на оплату платежа

Вот небольшой ярлык, как создать платеж:

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$ 

На данный момент я добавить товар в ITEMLIST с отрицательным значением (значение ваучера) и без каких-либо налогов. Так что этот законопроект, как:

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

Это право/единственный путь, и есть ли другая возможность сделать это дело?

ответ

0

Да, это правильный способ обработки ваучера. Покупатель может увидеть подробные данные и ваучер на странице проверки PayPal.