PHP-检索现有的stripe客户及其卡?

PHP-检索现有的stripe客户及其卡?,php,stripe-payments,Php,Stripe Payments,我成功地通过我的PHP后端在Stripe中创建了一个新客户。也就是说,当我的用户想要查看他们现有的卡片时,下面的PHP只会创建另一个新用户和临时密钥。如果我已经有了客户ID,我如何更改我的以下代码以使其成为客户ID,从而在我提供客户ID时返回现有卡?非常感谢您的帮助 if (!isset($_POST['api_version'])) { header('HTTP/1.1 400 Bad Request'); } //USER DETAILS $email = $_POST['email'

我成功地通过我的PHP后端在Stripe中创建了一个新客户。也就是说,当我的用户想要查看他们现有的卡片时,下面的PHP只会创建另一个新用户和临时密钥。如果我已经有了客户ID,我如何更改我的以下代码以使其成为客户ID,从而在我提供客户ID时返回现有卡?非常感谢您的帮助

if (!isset($_POST['api_version']))
{
 header('HTTP/1.1 400 Bad Request');
}

//USER DETAILS

$email = $_POST['email'];


$customer = \Stripe\Customer::create(array(
  'email' => $email, 
));


try {

    $key = \Stripe\EphemeralKey::create(
      ["customer" => $customer->id],
      ["stripe_version" => $_POST['api_version']]
    );


    header('Content-Type: application/json');
    exit(json_encode($key));
} catch (Exception $e) {
     header('HTTP/1.1 500 Internal Server Error'); 
}

您需要存储第一次创建客户时从stripe返回的客户id,然后您可以使用以下信息检索用户:

\Stripe\Customer::retrieve($customer_id);
大概是这样的:

$customer_id = $_POST['customer_id']; //get this id from somewhere a database table, post parameter, etc.

// if the customer id doesn't exist create the customer
if ($customer_id !== null) {
    // create the customer as you are now

} else {
    $cards = \Stripe\Customer::retrieve($customer_id)->sources->all()
    // return the cards
}

您需要存储第一次创建客户时从stripe返回的客户id,然后您可以使用以下信息检索用户:

\Stripe\Customer::retrieve($customer_id);
大概是这样的:

$customer_id = $_POST['customer_id']; //get this id from somewhere a database table, post parameter, etc.

// if the customer id doesn't exist create the customer
if ($customer_id !== null) {
    // create the customer as you are now

} else {
    $cards = \Stripe\Customer::retrieve($customer_id)->sources->all()
    // return the cards
}

你查过了吗?@PatrickQ好多次了,哈哈。我肯定迷路了。每次点击handlePaymentMethods按钮时,Stripe iOS SDK教程都会创建一个新客户。我只是不确定如何编写我的php文件,这样就不会发生这种情况:/请原谅我的新手。正在创建一个新客户,因为您正在调用customer::create。如果不想创建新客户,请不要调用创建新客户的函数。我直接链接到显示要使用什么函数的点。显示尝试使用该功能的情况,如果您仍然被卡住,请使用其他详细信息更新您的问题。是的,但我只需要第一次打电话给Customer::create-我在问如何编写某种声明,说明如果Customer\u id存在,不要执行create方法lol:/PHP不是我的强项@patrickqt这只是文档的一部分。你没有尝试过任何东西,也没有提到你正在尝试链接到iOS。这里是您想要的,只需用PHP重写它!你查过了吗?@PatrickQ好多次了,哈哈。我肯定迷路了。每次点击handlePaymentMethods按钮时,Stripe iOS SDK教程都会创建一个新客户。我只是不确定如何编写我的php文件,这样就不会发生这种情况:/请原谅我的新手。正在创建一个新客户,因为您正在调用customer::create。如果不想创建新客户,请不要调用创建新客户的函数。我直接链接到显示要使用什么函数的点。显示尝试使用该功能的情况,如果您仍然被卡住,请使用其他详细信息更新您的问题。是的,但我只需要第一次打电话给Customer::create-我在问如何编写某种声明,说明如果Customer\u id存在,不要执行create方法lol:/PHP不是我的强项@patrickqt这只是文档的一部分。你没有尝试过任何东西,也没有提到你正在尝试链接到iOS。这里是您想要的,只需用PHP重写它!我知道这一点,但是如果我的php代码中存在customer_id,如何阻止创建新客户呢?我已经用一般的想法更新了我的答案。您需要确保您将客户id存储在某个位置,并将其传递到请求中。这非常有用-将尝试一下!也就是说,如果我没有将任何内容发布到$customer_id,我的PHP文件会崩溃吗?即使使用if-null语句?我知道这一点,但是如果我的php代码中存在customer\u id,如何阻止创建新客户?我已经用一般的想法更新了我的答案。您需要确保您将客户id存储在某个位置,并将其传递到请求中。这非常有用-将尝试一下!也就是说,如果我没有将任何内容发布到$customer_id,我的PHP文件会崩溃吗?即使使用if null语句?