您是在谈论身份验证和捕获吗?身份验证是您确保用户的银行允许用户进行交易。然后,一旦付款获得授权,您就可以将其捕获,并将资金转移到 Stripe。
示例:您以 5000 美元的价格销售一项服务,例如 Web 开发。你要确保这个人首先有钱。您还想确保有钱的人在您为他们提供服务时不会花钱。
您可以这样做:
- 通过 Stripe 验证付款。您对付款进行验证,然后它进入该人的银行帐户中的待处理状态(他们无法再使用这笔钱)。
- 提供您的服务
- 获取付款。这笔钱将从他们的账户中扣除并添加到您的 Stripe 账户中。
通过 Stripe 的 API 做到这一点的方式是:Auth
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("sk_test_BQokikJOvBiI2HlWgH4olfQ2");
// Token is created using Checkout or Elements!
// Get the payment token ID submitted by the form:
$token = $_POST['stripeToken'];
// Charge the user's card:
$charge = \Stripe\Charge::create(array(
"amount" => 999,
"currency" => "usd",
"description" => "Example charge",
"capture" => false,
"source" => $token,
));
提供您的服务...然后捕获
// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
\Stripe\Stripe::setApiKey("sk_test_BQokikJOvBiI2HlWgH4olfQ2");
$charge = \Stripe\Charge::retrieve("ch_1A9eP02eZvKYlo2CkibleoVM");
$charge->capture();
当您创建费用时,它将在 JSON 结果中返回一个 ID 以及它是否已被捕获。如果要查看Auth是否成功,首先将ID保存在对charge的响应中...响应看起来像这样...
Stripe\Charge JSON: {
"id": "ch_1CCjK02eZvKYlo2C85c1GGmL",
"object": "charge",
"amount": 2000,
"amount_refunded": 0,
"application": null,
"application_fee": null,
"balance_transaction": "txn_19XJJ02eZvKYlo2ClwuJ1rbA",
"captured": false,
......... more ........
},
要检查费用,查看是否已授权,您可以执行以下操作...
\Stripe\Stripe::setApiKey("sk_test_BQokikJOvBiI2HlWgH4olfQ2");
\Stripe\Charge::retrieve("ch_1CCjK02eZvKYlo2C85c1GGmL");
响应将类似于 ...
Stripe\Charge JSON: {
"id": "ch_1CCjK02eZvKYlo2C85c1GGmL",
"object": "charge",
"amount": 2000,
"amount_refunded": 0,
"application": null,
"application_fee": null,
"balance_transaction": "txn_19XJJ02eZvKYlo2ClwuJ1rbA",
"captured": true,
"created": 1522739568,
....more....
"outcome": {
"network_status": "approved_by_network",
"reason": null,
"risk_level": "normal",
"seller_message": "Payment complete.",
"type": "authorized" // AUTHORIZED
然后你充电。完成。
https://stripe.com/docs/charges