我正在使用 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/

10-13 02:55