0

我目前正在使用贝宝 php rest api 0.6。我无法设置折扣金额。

我可以看到物品清单、税金和装运金额。但不知道如何配置折扣。$payer = 新付款人(); $payer->setPaymentMethod("paypal");

            $item = new Item();
            $item->setQuantity("1");
            $item->setName("Classic Shirt");
            $item->setPrice("100.00");
            $item->setCurrency("USD");
            $item->setSku("CS00001");
            $item2 = new Item();
            $item2->setQuantity("1");
            $item2->setName("Classic Brown Shirt");
            $item2->setPrice("100.00");
            $item2->setCurrency("USD");
            $item2->setSku("CS00002");

            $amount = new Amount();
            $amount->setCurrency("USD");

            $amountDetails = new Details();

            $amountDetails->setSubtotal('200');
            $amountDetails->setTax('10');
            $amountDetails->setShipping('10');
            //$amountDetails->setDiscount('10');
            $amount->setDetails($amountDetails);
            $amount->setTotal("210.00");
            $item_list = new ItemList();
            $item_list->setItems(array($item,$item2));

            $transaction = new Transaction();
            $transaction->setAmount($amount);
            $transaction->setDescription("This is incredibly awesome.");
            $transaction->setItem_list($item_list);

            $baseUrl = getBaseUrl();
            $redirectUrls = new RedirectUrls();
            $redirectUrls->setReturnUrl("$baseUrl/ExecutePayment.php?success=true")
                    ->setCancelUrl("$baseUrl/ExecutePayment.php?success=false");

            // ### Payment
            // A Payment Resource; create one using
            // the above types and intent set to 'sale'
            $payment = new Payment();
            $payment->setIntent("sale")
                    ->setPayer($payer)
                    ->setRedirectUrls($redirectUrls)
                    ->setTransactions(array($transaction));
4

4 回答 4

3

在当前版本的 REST API 中,您可以使用负值进行折扣,例如:

$itemTmp = new \PayPal\Api\Item();
$itemTmp->setName('Discount')
->setCurrency('EUR')
->setQuantity(1)
->setPrice(-10);
于 2015-05-04T11:40:25.727 回答
0

我在API 参考中没有看到任何关于折扣的提及。

我建议你简单地自己计算折扣,然后->setPrice用折扣价打电话。

于 2013-10-03T09:38:39.167 回答
0

为什么不加个负数,让描述打折

于 2014-08-21T21:35:39.690 回答
0

PayPal Rest API 很棘手,因为您确实无法使用 ->setDiscount(); 添加折扣;尽管付款的 jsondecode 在 Payment>Amount->Details 中显示数组 DISCOUNT=>"" ...

于 2021-01-21T14:11:27.037 回答