0

与往常一样,提前致谢。你们都很棒,只是为了阅读这个。

我使用 Parse 作为我的后端,并使用 Stripe 作为我的支付 API。Parse 有一些条带集成,但不是完整的 API,因此要访问 Parse 未内置的部分 API,您必须使用 http 请求。

我正在向我的应用程序添加优惠券功能,因此,有时需要直接向我的 Stripe 管理帐户生成转账,因为客户支付的费用可能少于收件人需要收到的费用。这是在 Stripe 的 API 文档中找到的 cURL 代码,我需要将其转换为 http 请求:

    curl https://api.stripe.com/v1/transfers \
   -u [secret api key]: \
   -d amount=400 \
   -d destination=[account id] 

“转移到 test@example.com”

这是我在代码中使用的 Parse.Cloud.httpRequest:

Parse.Cloud.httpRequest
(
    {
        method:"POST",
        url: "https://" + STRIPE_SECRET_KEY + ':@' + STRIPE_API_BASE_URL + "/transfers?amount=" + amountOwedProvider.toString() + "&destination=" + recipient_id
    }
);

STRIPE_API_BASE_URL 是 'api.stripe.com/v1'

amountOwedProvider 是我仍然需要发送给提供者的数字,以美分为单位

recipient_id 是格式正确的条带收件人 ID。我也在生成初始费用时使用它。

当我提出这个请求时,我的 Stripe 日志中出现以下错误:

“无法识别的请求 URL(POST:/v1/transfers)

即使文档要求转移,我也尝试过使用转移和转移。我也尝试过使用转移/?金额...而不是转移?金额,但收到相同的错误。

有关如何正确创建此 http 请求的任何提示?我真的很感激任何指导。

谢谢,杰克

4

1 回答 1

0

我是个白痴。我从这里找到的 cURL 请求开始:https ://stripe.com/docs/connect/special-case-transfers

您可能会注意到,我在问题中发布的 api 文档链接中的实际代码中没有货币参数。原来,这是一个必需的参数。我想,因为它不在我首先发现的这个链接中,所以它是一个可选参数,如果没有指定,将使用默认货币。错误的。我只需要在我的请求 url 中添加 currency=usd。我的最终请求如下所示:

Parse.Cloud.httpRequest
(
    {
        method:"POST",
        url: "https://" + STRIPE_SECRET_KEY + ':@' + STRIPE_API_BASE_URL + "/transfers?currency=usd&amount=" + amountOwedProvider.toString() + "&destination=" + recipient_id
    }
);
于 2015-07-31T17:31:05.560 回答