条纹收费与订单澄清

时间:2018-06-05 13:45:42

标签: stripe-payments

我正在使用Stripe实施支付平台。 对于单笔付款,我创建了一个Charge。 它有效,没问题,但我还需要对Order对象中定义的产品征税。 这是否意味着我需要以某种方式用订单替换费用或订购父费对象?如果是这样,我如何将这两个链接在一起?或者有一种方法可以对我没有看到的收费征税? 感谢

编辑:

    public async Task<StripeCharge> CreateStripeChargeAsync(StripeProduct product, StripeSku sku, StripeCustomer customer, string orderId)
    {
        var charge = await _chargeService.CreateAsync(new StripeChargeCreateOptions
        {
            Amount = sku.Price,
            Currency = sku.Currency,
            Description = product.Description,
            CustomerId = customer.Id,
            SourceTokenOrExistingSourceId = customer.DefaultSourceId,
            ReceiptEmail = customer.Email,
            Metadata = new Dictionary<string, string>
            {
                { "OrderId", orderId }
            }
        });

        return charge;
    }

1 个答案:

答案 0 :(得分:0)

您可以通过创建类型设置为tax的订单商品为您的订单添加税,例如

Stripe\OrderItem JSON: {
    "object": "order_item",
    "type": "tax",
    "amount": 1234,
    "currency": "usd",
    "description": "Tax",
    "parent": "null",
    "quantity": null
}

将此附加到您的订单商品列表中。我不能真正给出一个代码示例,因为你没有提到一种语言,但你的订单对象看起来像......

Stripe\Order JSON: {
"id": "or_1CZfbeCAQSQw5dVw1BSP63dZ",
"object": "order",
"amount": 1500,
"amount_returned": null,
"application": null,
"application_fee": null,
"charge": null,
"created": 1528206830,
"currency": "usd",
"customer": null,
"email": null,
"items": [
  {
    "object": "order_item",
    "amount": 10000,
    "currency": "usd",
    "description": "My Product name",
    "parent": "sk_1BQuNoCAQSQw5dVwjf30OpxH",
    "quantity": null,
    "type": "sku"
  },
    "object": "order_item",
    "type": "tax",
    "amount": 1234,
    "currency": "usd",
    "description": "Tax",
    "parent": "null",
    "quantity": null
], etc...

您可以使用相同的想法来添加运费,甚至可以使用type =“shipping”或“discount”来应用折扣。

请注意,订单对象包含费用字段。订单付款后,将填入费用ID。无需用订单替换费用,Stripe将为您将付款链接到订单进行此更新。

有关详细信息,请参阅API Docs