gpt4 book ai didi

ruby - 计算 Stripe taxamo 价格含税的最佳方法

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:26 27 4
gpt4 key购买 nike

您好,我很好奇如何最好地计算产品结账前的含增值税价格。目前我找到的唯一方法是创建一个包含该商品的订单,然后从订单中获取税金和价格。然而,这会产生很多冗余订单,而且似乎不是最优的。有没有一种方法可以在不创建订单的情况下进行此计算?

def get_price 
location = current_user.location
location_data = APP_CONFIG['country_list'][location]
currency = location_data['currency']
country_code = location_data['code']
product_id = APP_CONFIG['stripe_reconstruction_ids'][currency]
product = Stripe::Product.retrieve(product_id)
product_sku = product['skus']['data'][0]['id']
ip = request.remote_ip

order = Stripe::Order.create(
:currency => currency,
:customer => current_user.stripe_id,
:items => [
{
:type => 'sku',
:parent => product_sku,
:quantity => 1,
:currency => currency
}
],
:email => current_user.email,
:metadata => {
:buyer_ip => ip,
:billing_country_code => country_code,
:product_type => 'e-service'
}
)


render :json => order, :status => 200 and return


rescue => error
logger.error error.message
render :json => { message: "Could not fetch the correct price." }, :status => 500 and return
end

更新

在与 stripe 支持者交谈后,我的建议似乎是目前最好的方法。我向他们建议,如果开发人员可以在订单上设置一个仅用于定价信息的标志,以避免创建一个以后不会用于付款的订单,那就太好了。他们说他们会把这个建议转达给他们的开发者。也许我们将来会有更好的方法来做到这一点。

最佳答案

您可以使用 Taxamo 的 API Calculate tax端点(Ruby 客户端库是 available )。

注意如果设置buyer_ip必须使用private token,否则忽略该字段。

curl 调用示例:

curl -X 'POST' -H "Content-Type: application/json" -d \
'{
"transaction": {
"currency_code": "EUR",
"transaction_lines": [
{
"custom_id": "line1",
"product_type": "e-service",
"amount": 100
}
],
"billing_country_code": "SOME_COUNTRY_CODE",
"buyer_ip": "SOME_IP"
},
"private_token": "YOUR_PRIVATE_TOKEN"
}' \
https://api.taxamo.com/api/v1/tax/calculate | python -m json.tool

关于ruby - 计算 Stripe taxamo 价格含税的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41801351/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com