やりたいこと(重要)
・プラットフォームのサービスを作っている
・購入者が決済 => プラットフォームへお金が振り込まれる
・最終的に、出品者(子アカウント)へお金を送金したい
方法
これで、フロントで決済したクレカが、プラットフォームへチャージ(決済)されます
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だった場合、お金を子アカウントに送金できます。
以上。