Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9034

Stripeでchargesの後にtransfersする方法 | Node.js

$
0
0

やりたいこと(重要)

・プラットフォームのサービスを作っている
・購入者が決済 => プラットフォームへお金が振り込まれる
・最終的に、出品者(子アカウント)へお金を送金したい

方法

これで、フロントで決済したクレカが、プラットフォームへチャージ(決済)されます

stripe.charges.create({amount:1000,currency:'jpy',source:"tok_bypassPending",//チャージ後即座に送金可能にする。本当ならカードのtok情報description:'支払い',transfer_group:"ORDER1",//最終的にこの値を使って出品者(子アカウント)へお金を送金する},function(err,charge){console.log("エラー");console.log(err);console.log("チャージ");console.log(charge);});

で、これでチャージすると、本番環境の場合、四日後に送金可能になります。

それで、プラットフォーム内でサービスが完結し、出品者(子アカウント)へお金を送金したい場合は、

こうします↓

stripe.transfers.create({amount:100,//今回は送金可能金額1000円から100円だけ送金するcurrency:'jpy',destination:"ここに子アカウントのid",transfer_group:'ORDER1',//ここの値を使って出金可能金額から送金する},function(err,transfer){console.log("transfer");console.log(transfer);console.log("err");console.log(err);});

これでOkです。

実際にプラットフォームからお金が引かれてることを確認する

curl https://api.stripe.com/v1/balance \
  -u sk_test_OOOOOOOOOOOO:

これをターミナルとかに打ち込んでください。

すると、こんな感じで情報が出ます。

% curl https://api.stripe.com/v1/balance \
  -u sk_test_OOOOOOOOOOOO:
{
  "object": "balance",
  "available": [
    {
      "amount":900,
      "currency": "jpy",
      "source_types": {
        "card": 900
      }
    }
  ],
  "connect_reserved": [
    {
      "amount": 0,
      "currency": "jpy"
    }
  ],
  "livemode": false,
  "pending": [
    {
      "amount": 0,
      "currency": "jpy",
      "source_types": {
        "card": 0
      }
    }
  ]
}

クレカでチャージして決済した時、プラットフォームにお金が振り込まれますが、それで、四日後にここが反映されます。→"available": [

それで、transfersしてtransfer_group指定した金額がavailableだった場合、お金を子アカウントに送金できます。

以上。


Viewing all articles
Browse latest Browse all 9034

Trending Articles