我正在使用 Omnipay-stripe 并且我正在尝试使用以下代码 Create a customer :
$gateway = Omnipay::create('Stripe');
$gateway->setApiKey('sk_test_....');
$token = $this->input->post('stripeToken'); // Code Igniter for $_POST['stripeToken']
$customer = $gateway->createCard(array(
"source" => $token,
"description" => "Example Customer")
);
echo 'Customer: ';
echo '<pre>';
print_r($customer);
echo '</pre>';
我没有任何运气。我检查了 CreateCardRequest,它说“这实际上并没有创建卡片,而是创建了一个客户。”
我从 API 解析的请求 POST 正文是:
key: "pk_test_...."
payment_user_agent: "stripe.js/6a67cf0"
card:
number: "************4242"
cvc: "***"
exp_month: "12"
exp_year: "2017"
我的响应正文是:
id: tok_15v8exD17chNNDaoGMbDebAL
livemode: false
created: 1429889047
used: false
object: "token"
type: "card"
card:
id: card_15v8exD17chNNDao92nWH2rP
object: "card"
last4: "4242"
brand: "Visa"
funding: "credit"
exp_month: 12
exp_year: 2017
country: "US"
name: null
address_line1: null
address_line2: null
address_city: null
address_state: null
address_zip: null
address_country: null
cvc_check: "unchecked"
address_line1_check: null
address_zip_check: null
dynamic_last4: null
client_ip: "x.x.x.x"
谢谢。
最佳答案
Omnipay 不支持客户。 Stripe 确实有,但那部分 Stripe-API 仅用于 Omnipay 或多或少地提供 Omnipay token billing functionality (您可以在跟踪器中看到一些错误,例如 https://github.com/thephpleague/omnipay-stripe/issues/8 )。
所以问我如何使用 omnipay-stripe 进行客户管理听起来更像是自找麻烦。我建议您使用非 Omnipay stripe API 来管理您的客户处理并保留 Omnipay 仅用于付款。
关于php - 如何在 omnipay-stripe 中创建客户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29851706/