Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stripe payments 条状收费与订单澄清_Stripe Payments - Fatal编程技术网

Stripe payments 条状收费与订单澄清

Stripe payments 条状收费与订单澄清,stripe-payments,Stripe Payments,我正在用Stripe实现一个支付平台。 对于一次付款,我创建了一个费用。 它可以工作,没有问题,但是我还需要对订单对象中定义的产品应用税费。 这是否意味着我需要以某种方式用订单替换费用,或者订单是费用的父对象?如果是,我如何将这两个链接在一起?或者有一种方法可以对我没有看到的费用征税? 谢谢 编辑: public async Task CreateStripeChargeAsync(StripeProduct产品、StripeSku sku、StripeCustomer客户、字符串orderId

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

编辑:

public async Task CreateStripeChargeAsync(StripeProduct产品、StripeSku sku、StripeCustomer客户、字符串orderId)
{
var charge=await\u chargeService.CreateAsync(新的StripeChargeCreateOptions
{
金额=库存单位价格,
货币=库存单位货币,
描述=产品。描述,
CustomerId=customer.Id,
SourceTokenOrExistingSourceId=customer.DefaultSourceId,
ReceiptEmail=客户。电子邮件,
元数据=新字典
{
{“OrderId”,OrderId}
}
});
退货费;
}

例如,您可以通过创建类型设置为tax的订单项目,向订单中添加税费

Stripe\OrderItem JSON: {
    "object": "order_item",
    "type": "tax",
    "amount": 1234,
    "currency": "usd",
    "description": "Tax",
    "parent": "null",
    "quantity": null
}
将此附加到您的订单项目列表中。我不能给出一个代码示例,因为您没有提到语言,但是您的order对象看起来像

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”,您可以使用相同的方法来添加运输成本,甚至应用折扣

请注意,order对象包含一个charge字段。订单付款后,将使用费用id填充。无需使用订单替换费用,Stripe将为您执行此更新,将付款链接到订单


有关更多信息,请参阅。

您看过API文档了吗?是的,我不确定我需要用什么,这就是为什么我谦虚地问这个问题。谢谢你的有用评论。这个问题不是面向语言的,但是我添加了代码。因此,用户在我们的网站上选择一种产品,它创建了一个收费atm机,我只需要为此添加税费。你基本上是说我不应该使用charge对象来做这件事,但是order对象可以添加税费?我代码中的orderid只是我数据库中一个文档的id,其中保存了一份charge+一些其他信息,而不是StripeOrder对象当用户单击“buy”时,你应该创建一个order对象。然后调用
Order.pay()哪个产生费用。哦,订单产生费用?所以我不应该像以前那样手动创建费用?但是我可以设置ReceiptEmail,它将发送收据和其他收费行为,我在订单中没有看到类似的行为
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...