Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在没有JS的情况下执行条带事务以检索令牌_Php_Api_Curl_Stripe Payments - Fatal编程技术网

Php 在没有JS的情况下执行条带事务以检索令牌

Php 在没有JS的情况下执行条带事务以检索令牌,php,api,curl,stripe-payments,Php,Api,Curl,Stripe Payments,我试图在不使用Javascript的情况下执行条带事务。可能是cURL,但我无法使用v2api来理解头部 <form action="" method="POST" id="payment-form"> <span class="payment-errors"></span> <div class="form-row"> <label> <span>Card Number</span>

我试图在不使用Javascript的情况下执行条带事务。可能是cURL,但我无法使用v2api来理解头部

<form action="" method="POST" id="payment-form">
  <span class="payment-errors"></span>

  <div class="form-row">
    <label>
      <span>Card Number</span>
      <input type="text" size="20" data-stripe="number"/>
    </label>
  </div>

  <div class="form-row">
    <label>
      <span>CVC</span>
      <input type="text" size="4" data-stripe="cvc"/>
    </label>
  </div>

  <div class="form-row">
    <label>
      <span>Expiration (MM/YYYY)</span>
      <input type="text" size="2" data-stripe="exp-month"/>
    </label>
    <span> / </span>
    <input type="text" size="4" data-stripe="exp-year"/>
  </div>

  <button type="submit">Submit Payment</button>
</form>



<?php
require '../stripe-php/init.php';

//this next line is very wrong
$post = 'client_secret=['sk_07C5ukIdqx'].'&grant_type=authorization_code&code='.$_GET['code'];
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $system['stipe']['token_url']);
curl_setopt($ch,CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);

$decode = json_decode($result);

\Stripe\Stripe::setApiKey("my_secret");
\Stripe\Charge::create(array(
    "amount" => 500,
    "currency" => "usd",
    "source" => $decode[2], // I am totally guessing the value will be in element #2
   "description" => "Charge for test@example.com"
 ));
?>

卡号
CVC
有效期(年月日)
/ 
付款

当使用
Stripe.js
时,Stripe不要求您的服务器与PCI兼容

如果您有一个接受信用卡数据的web表单,则希望通过Stripe创建卡令牌。信用卡信息永远不会通过网络发送到您的服务器。这就是为什么代码中的表单字段没有
name
属性(不提交无名称字段)这是件好事。

如果您坚持不使用stripe.js,那么

您提供的源必须是一个令牌(如Stripe.js返回的令牌),或者一个包含用户信用卡详细信息的关联数组

删除
stripe.js
,在表单上添加一些
name
属性,并使用
Charge::create()
方法,而不使用前面提到的所有内容


我必须提到的是,如果我不清楚使信用卡处理变得极其简单的API的基本原理,我会非常担心我让信用卡数据接触我的服务器会给自己带来多大的潜在诉讼。

在使用
Stripe.js时,Stripe不要求您的服务器符合PCI标准

如果您有一个接受信用卡数据的web表单,则希望通过Stripe创建卡令牌。信用卡信息永远不会通过网络发送到您的服务器。这就是为什么代码中的表单字段没有
name
属性(不提交无名称字段)这是件好事。

如果您坚持不使用stripe.js,那么

您提供的源必须是一个令牌(如Stripe.js返回的令牌),或者一个包含用户信用卡详细信息的关联数组

删除
stripe.js
,在表单上添加一些
name
属性,并使用
Charge::create()
方法,而不使用前面提到的所有内容


我必须提到的是,如果我不清楚使信用卡处理变得极其简单的API的基本原理,我会非常担心我让信用卡数据接触我的服务器会让自己面临多大的潜在诉讼。

Stripe确实要求您的站点通过HttpThanks提供服务。当然,否则脚本甚至无法加载!不,您可以从HTTP加载HTTPS(反之亦然)。Stripe需要它来进行PCIpurposes@deefour哇,PCI真是太棒了。你的回答“非常”正确。当我找到一个工作脚本时,我会赤裸裸的跟我在一起,因为它在www上不存在。我根本不知道JS,我试过JS脚本。真糟糕,伙计,真糟糕。我最多只能得到NULL,因为tokenStripe确实需要通过HTTPSThanks为您的站点提供服务。当然,否则脚本甚至无法加载!不,您可以从HTTP加载HTTPS(反之亦然)。Stripe需要它来进行PCIpurposes@deefour哇,PCI真是太棒了。你的回答“非常”正确。当我找到一个工作脚本时,我会赤裸裸的跟我在一起,因为它在www上不存在。我根本不知道JS,我试过JS脚本。真糟糕,伙计,真糟糕。充其量我得到了空的令牌如果你的服务器接触信用卡号(因为你不使用Stripe.js),你必须符合PCI SAQ d。这是大约82页的文档,你需要填写,以证明你是符合的。你可能还想雇佣一个QSA,这很容易每年花费数千美元。还有,你为什么要使用Stripe Connect?Stripe connect需要Stripe.js如果您的服务器确实接触到信用卡号(因为您不使用Stripe.js),那么您必须按照PCI SAQ d符合PCI。这是大约82页的文档,您需要填写以证明您符合要求。你可能还想雇佣一个QSA,这很容易每年花费数千美元。还有,你为什么要使用Stripe Connect?Stripe connect需要Stripe.js
'amount'   => 200, // $2.00,
'currency' => 'usd',
'source'   => [
    'object'    => 'card',
    'number'    => '...'
    'exp_month' => '...',
    'exp_year'  => '...',
    'cvc'       => '...',
]