如何通过Stripe report_runs API添加元数据列至统一支付报表
我正尝试将之前在Stripe WebUI手动生成的报表实现自动化,目前已能获取所需的大部分列,但无法找到获取WebUI中所有潜在列的方法,尤其是无法添加指定的payment_metadata相关列。我尝试了多种列名语法均返回无效请求错误,且错误提示中的官方文档链接出现404,现寻求正确的列名格式。
成功请求示例
curl https://api.stripe.com/v1/reporting/report_runs \ -u $STRIPE_TEST_API_KEY \ -d report_type="exports.unified_payments" \ -d "parameters[columns][]"="id" \ -d "parameters[columns][]"="Description" \ -d "parameters[columns][]"="Seller Message" \ -d "parameters[columns][]"="Created (UTC)" \ -d "parameters[columns][]"="Amount" \ -d "parameters[columns][]"="Amount Refunded" \ -d "parameters[columns][]"="Currency" \ -d "parameters[columns][]"="Converted Amount" \ -d "parameters[columns][]"="Converted Amount Refunded" \ -d "parameters[columns][]"="Fee" \ -d "parameters[columns][]"="Tax" \ -d "parameters[columns][]"="Converted Currency" \ -d "parameters[columns][]"="Status" \ -d "parameters[columns][]"="Statement Descriptor" \ -d "parameters[columns][]"="Customer ID" \ -d "parameters[columns][]"="Customer Description" \ -d "parameters[columns][]"="Customer Email" \ -d "parameters[columns][]"="Captured" \ -d "parameters[columns][]"="Card ID" \ -d "parameters[columns][]"="Invoice ID" \ -d "parameters[columns][]"="Transfer"
需添加的列
metadata[Admin URL] metadata[Buyer ID] metadata[Discounts] metadata[Item Total] metadata[Order Number] metadata[Payment ID] metadata[Request ID] metadata[Shipping] metadata[Shipping Class] metadata[Store ID] metadata[Storenvy ID] metadata[Tax] metadata[require_zip_check] metadata[requires_zip_check]
已尝试的列名语法
% curl https://api.stripe.com/v1/reporting/report_runs \ -u $STRIPE_TEST_API_KEY \ -d report_type="exports.unified_payments" \ -d "parameters[columns][]"="Order Number (metadata)" { "error": { "message": "The value for `parameters.columns` contains invalid column identifiers: \"Order Number (metadata)\". For the list of valid columns for exports.unified_payments, see https://stripe.com/docs/reporting/statements/report-types#schema-exports-unified-payments.", "request_log_url": "https://dashboard.stripe.com/test/logs/req_wcjrHaKjFjbT7t?t=1670317430", "type": "invalid_request_error" } } % curl https://api.stripe.com/v1/reporting/report_runs \ -u $STRIPE_TEST_API_KEY \ -d report_type="exports.unified_payments" \ -d "parameters[columns][]"="Order Number" { "error": { "message": "The value for `parameters.columns` contains invalid column identifiers: \"Order Number\". For the list of valid columns for exports.unified_payments, see https://stripe.com/docs/reporting/statements/report-types#schema-exports-unified-payments.", "request_log_url": "https://dashboard.stripe.com/test/logs/req_ocr6WwyUMWSsoA?t=1670317446", "type": "invalid_request_error" } } % curl https://api.stripe.com/v1/reporting/report_runs \ -u $STRIPE_TEST_API_KEY \ -d report_type="exports.unified_payments" \ -d "parameters[columns][]"="payment_metadata[Order Number]" { "error": { "message": "The value for `parameters.columns` contains invalid column identifiers: \"payment_metadata[Order Number]\". For the list of valid columns for exports.unified_payments, see https://stripe.com/docs/reporting/statements/report-types#schema-exports-unified-payments.", "request_log_url": "https://dashboard.stripe.com/test/logs/req_fbKu58dqgAweLw?t=1670317597", "type": "invalid_request_error" } } % curl https://api.stripe.com/v1/reporting/report_runs \ -u $STRIPE_TEST_API_KEY \ -d report_type="exports.unified_payments" \ -d "parameters[columns][]"="Payment Metadata[Order Number]" { "error": { "message": "The value for `parameters.columns` contains invalid column identifiers: \"Payment Metadata[Order Number]\". For the list of valid columns for exports.unified_payments, see https://stripe.com/docs/reporting/statements/report-types#schema-exports-unified-payments.", "request_log_url": "https://dashboard.stripe.com/test/logs/req_r8fVXjcgwwipRv?t=1670317908", "type": "invalid_request_error" } }
正确的列名格式
对于Stripe exports.unified_payments 报表中的自定义metadata字段,正确的列名格式是**metadata[<键名>]**,其中<键名>需要和你在Payment Intent中设置的metadata键完全一致(包括大小写、空格)。
比如你要添加"Order Number"这个metadata列,对应的正确参数是:
-d "parameters[columns][]"="metadata[Order Number]"
整合后的完整请求示例(包含部分metadata列):
curl https://api.stripe.com/v1/reporting/report_runs \ -u $STRIPE_TEST_API_KEY \ -d report_type="exports.unified_payments" \ -d "parameters[columns][]"="id" \ -d "parameters[columns][]"="Amount" \ -d "parameters[columns][]"="metadata[Order Number]" \ -d "parameters[columns][]"="metadata[Buyer ID]" \ -d "parameters[columns][]"="metadata[Store ID]"
注意:如果metadata键包含特殊字符(如空格、斜杠),直接保留原始键名即可,不需要额外转义(curl会自动处理)。
内容的提问来源于stack exchange,提问作者AlexLordThorsen
相关产品推荐
相关产品推荐

