无法使用Stripe API

时间:2018-06-15 14:58:51

标签: node.js stripe-connect stripe.js

我的应用程序使用自定义连接帐户。我在通过Stripe的API更新争议证据时遇到问题。每次我尝试更新时都说:“没有这样的争议:dp_XXXXXX”。

Stripe Docs: Update a dispute

根据我的理解,我需要传递我的条带密钥,争议ID以及我希望作为evidence对象更新的任何详细信息。

我没有运气将从我的表单收集的数据传递给Stripe。因此,我尝试使用Stripe的文档对来自Stripe disputes list endpoint的几个不同的争议ID进行硬编码。再次没有运气。

节点的当前设置:

export async function update(data): Promise<any> {
  return await stripe.disputes.update(data.id, { evidence: data.evidence })
  .then((response) => {
    return {
      type: 'success',
      message: 'Dispute updated.'
    };
  }).catch((error) => {
    return {
      type: 'error',
      message: error.message,
      errors: error
    };
  });
 }

使用docs中的示例:

export async function update(): Promise<any> {
    return await stripe.disputes.update(
    'dp_XXXXXXXXXXXXXXX',
    {
      evidence: {
        customer_name: 'Natalie Thomas',
        product_description: 'Comfortable cotton t-shirt'
      }
    }
   );
}

我还尝试使用curl来测试我在Node中做错了。

curl https://api.stripe.com/v1/disputes/dp_XXXXXXX \
-u sk_test_XXXXXX: \
-d evidence[customer_name]="Jacob Garcia" \
-d evidence[product_description]="Comfortable cotton t-shirt"

目前正在开发中,所以我正在使用所有测试键/测试环境。这是我遇到的第一个问题。

这些争议是使用Stripe的测试卡4000000000000259创建的。

有什么想法吗?

更新

我还测试了检索特定争议并通过卷曲结束特定争议。我对这两个错误都有同样的错误。

1 个答案:

答案 0 :(得分:1)

解决了我的问题。

尝试更新已关联帐户时,您还必须将已连接帐户的ID传递给API调用。所以对于我原来的问题,它将是:

stripe.disputes.update(
  data.id,
  { evidence: data.evidence },
  { stripe_account: data.accountId }
)

如果它不是关联帐户,那么您只需传递争议ID即可。