如何将结账表单中的电子邮件地址传递给带有Stripe的充电页面

Jos*_*eta 6 php forms stripe-payments

我正在使用Stripe的自定义结帐按钮,我可以成功创建费用.我现在要做的是传递表单上的电子邮件地址并创建一个新客户.但是,电子邮件地址不会传递到我的服务器,而是直接转到Stripe.

我希望我能做到这样的事情:

//pass value from input field on previous page
$email = $_POST['email'];

// Create a Customer
$customer = Stripe_Customer::create(array(
  "card" => $token,
  "description" => "$email")
);
Run Code Online (Sandbox Code Playgroud)

但我不想两次询问用户他的电子邮件地址,因为Stripe的表格已经要求了.

如何捕获电子邮件地址以创建新客户?

小智 10

电子邮件与令牌一起发布.

它传递给一个post变量:$ _POST ['stripeEmail'].


Med*_*nkk 6

那好吧......虽然我不知道这里的规则,但这里是答案:

使用Stripe checkout.js

在您的token回调中,您可以访问res.email相同的方式访问res.id,这将为您提供用户提交的电子邮件.这是代码:

  var token = function(res){
      var $theToken = $('<input type=hidden name=stripeToken />').val(res.id);
      var $theEmail = $('<input type=hidden name=stripeEmail />').val(res.email);
      $('form').append($theToken);
      $('form').append($theEmail).submit();
  };
Run Code Online (Sandbox Code Playgroud)

您也可以将它们放在一个数组中然后使用

$.each(
Run Code Online (Sandbox Code Playgroud)

但这可以作为你练习的练习.干杯,-Colin