0

いつもありがとうございます。これを読んでいるだけで、あなたはすべて素晴らしいです。

バックエンドとして Parse を使用し、支払い API として Stripe を使用しています。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)

ドキュメントでは転送が必要ですが、転送と転送の両方を使用してみました。transfers/?amount... ではなく transfers?amount を使用してみましたが、同じエラーが発生しました。

この http リクエストを適切に作成する方法に関するヒントはありますか? ガイダンスをいただければ幸いです。

ありがとう、ジェイク

4

1 に答える 1

0

私はアホです。ここにある cURL リクエストから始めました: https://stripe.com/docs/connect/special-case-transfers

私の質問に投稿したAPIドキュメントのリンクから、実際のコードに通貨パラメータがないことに気付くかもしれません。結局のところ、これは必須パラメーターです。最初に見つけたこのリンクにはなかったので、それはオプションのパラメーターであり、指定されていない場合はデフォルトの通貨が使用されると考えました。違う。currency=usd をリクエスト URL に追加するだけでした。私の最終的なリクエストは次のようになります。

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 に答える