美文网首页
PayPal 设置订单税款

PayPal 设置订单税款

作者: Swerve | 来源:发表于2019-11-19 17:29 被阅读0次

PayPal php sdk可以设置付款时候的item,以及税款。下面说明下各个值的相加关系
官方文档网址

下面摘抄自官方的示例数据,删减部分与本主题无关字段。
其中 amount 是总价 total=subtotal+tax+shipping
item_list中所有item求和price*quantity=subtotal

关于税款中 amount的tax需要运算,而items中的tax值不参与运算。

{
    "id": "PAY-0US81985GW1191216KOY7OXA",
    "create_time": "2017-06-30T23:48:44Z",
    "update_time": "2017-06-30T23:49:27Z",
    "state": "APPROVED",
    "intent": "order",
    "payer": {
        "payment_method": "paypal"
    },
    "transactions": [
        {
            "amount": {
                "total": "41.15",
                "currency": "USD",
                "details": {
                    "subtotal": "30.00",
                    "tax": "1.15",
                    "shipping": "10.00"
                }
            },
            "description": "The payment transaction description.",
            "item_list": {
                "items": [
                    {
                        "name": "hat",
                        "sku": "1",
                        "price": "3.00",
                        "tax": "3.00",
                        "currency": "USD",
                        "quantity": "5"
                    },
                    {
                        "name": "handbag",
                        "sku": "product34",
                        "price": "15.00",
                        "tax": "3.00",
                        "currency": "USD",
                        "quantity": "1"
                    }
                ]
            }
        }
    ]
}

附录 创建订单伪代码

    public function createPayment($subtotal,$tax, $description, $items)
    {

        // Create new payer and method
        $payer = new Payer();
        $payer->setPaymentMethod("paypal");

        // Set redirect URLs
        $redirectUrls = new RedirectUrls();
        $redirectUrls->setReturnUrl('')
            ->setCancelUrl('');

        //details中设置税款和商品总价以及运费
        $detail = new Details();
        $detail->setTax($tax)
            ->setSubtotal($subtotal)
            ->setShipping(0);
        //details中三者相加等于amount中的total
        // Set payment amount
        $amount = new Amount();
        $amount->setCurrency("USD")
            ->setDetails($detail)
            ->setTotal($subtotal+$tax);

        $itemList = new ItemList();
        foreach ($items as $item) {
            $item = new Item();
            $item->setDescription($item['name']);
            $item->setCurrency("USD");
            $item->setPrice($item['price']);
            //item中的税款不参与运算,这里可以为任一值
            $item->setTax($item['price'] * ($item['tip'] / 100) * $item['number']);
            $item->setName($item['name']);
            $item->setQuantity($item['number']);
            $itemList->addItem($item);
        }

        // Set transaction object
        $transaction = new Transaction();
        $transaction->setAmount($amount)
            ->setItemList($itemList)
            ->setDescription($description);

        // Create the full payment object
        $payment = new Payment();
        $payment->setIntent('sale')
            ->setPayer($payer)
            ->setRedirectUrls($redirectUrls)
            ->setTransactions(array($transaction));

        // Create payment with valid API context
        try {
            $payment->create($this->apiContext);

            // Get PayPal redirect URL and redirect the customer
            $approvalUrl = $payment->getApprovalLink();

            // Redirect the customer to $approvalUrl
        } catch (PayPalConnectionException $ex) {
            echo $ex->getCode();
            echo $ex->getData();
            die($ex);
        } catch (Exception $ex) {
            die($ex);
        }
        return $approvalUrl;
    }

附录 按照这种方式支付后的商家截图


订单详情

其中的Sales Tax即为在detais中设置的税款

相关文章

  • PayPal 设置订单税款

    PayPal php sdk可以设置付款时候的item,以及税款。下面说明下各个值的相加关系官方文档网址 下面摘抄...

  • odoo 支付接入 - 参考paypal模块

    paypal 模块整理 确认订单上 生成 paypal 支付表单 表单包含 订单号,地址,邮箱,价格 等其他订单信...

  • Shopify 收款方式之Paypal

    在Shopify中,商家经常会面临一个问题: 如何利用Paypal来收款? 如何设置Paypal账户来收款? 针对...

  • iOS 集成PayPal付款

    1、使用cocoapods pod'PayPal-iOS-SDK' 2、AppDelegate 中key 的设置...

  • shopify 建站日记

    2018-11-04-设置好支付方式 PayPal注册失败了。 不知道具体的原因是什么。使用PayPal的时候注意...

  • 微商城流程

    微商城流程:订单,商品,库存,采购,设置 订单模块订单审核:订单审核,订单合并,订单拆分,批量设快递,历史订单,导...

  • 附加任务——国贸165 31 黄玲玲

    任务1:翻?环境设置并申请帐号:Facebook, TWITTER,google(gmail),paypal2. ...

  • 004--Pad收银

    1.APP我发现--Pad收银 在线订单 2.APP推荐原因 订单的状态显示订单关联平台一键设置订单,打印,配送,...

  • 2018-09-14

    店铺/基础设置 店铺信息 设置商家信息、联系方式、营业时间、地址 短信通知 订单支付成功通知、订单生成通知、发货通...

  • 订单模块数据库表解析(一)

    本文主要对订单及订单设置功能的表进行解析,采用数据库表与功能对照的形式。 订单 相关表结构 订单表 订单表,需要注...

网友评论

      本文标题:PayPal 设置订单税款

      本文链接:https://www.haomeiwen.com/subject/rllgictx.html