2017-10-17 4 views
0

맞춤 결제 금액으로 스트라이프 체크 아웃을 받으려고합니다. 팝업 스트립 양식이 제출되지만 내 스트라이프 계정에는 아무 것도 표시되지 않습니다.PHP/JS를 사용한 스트라이프 체크 아웃이 스트라이프 계정에 표시되지만 스트라이프 계정에 표시되지 않음

실제 코드에는 내 api 키가 입력되어 있습니다. 나는 작곡가도 사용하지 않고있다. 여기

<form action="charge.php" method="POST" id="payment-form"> 
    <input style="width: 100px; float: right;" class="form-control" type="number" id="custom-donation-amount" placeholder="$50.00" min="0" step="5.00"/> 
    <input class="donate-desc" style="width: 100%; float: right;" class="form-control" type="text" placeholder="What is this donation for?"/> 
    <button style="float: left; margin-right: 10px;" id="customButton" class="simpay-payment-btn stripe-button-el"><span>Make a Donation</span></button> 
    <script src="https://checkout.stripe.com/checkout.js"></script> 
    <script> 
    var handler = StripeCheckout.configure({ 
     key: 'test publishable key', 
     image: 'image.png', 
     token: function(token) { 
     var stripeToken = token.id; 
     } 
    }); 

    document.getElementById('customButton').addEventListener('click', function(e) { 
     // This line is the only real modification... 
     var amount = jQuery("#custom-donation-amount").val() * 100; 
     var desc = jQuery('.donate-desc').val(); 
     handler.open({ 
     name: 'name', 
     description: desc, 
     amount: Math.round(amount) 
     }); 
     e.preventDefault(); 
    }); 
    </script> 

코드에서

<?php 
    require '/stripe/Stripe.php'; 

    $stripe = array(
     "secret_key"  => "test secret key", 
     "publishable_key" => "test publishable key" 
    ); 

    \Stripe\Stripe::setApiKey($stripe['secret_key']); 

    $token = $_POST['stripeToken']; 

    $charge = \Stripe\Charge::create(array(
     'amount' => $_POST['amount'], 
     'descrition' => $_POST['description'], 
     'currency' => 'usd', 
     'source' => $token 
    )); 

?> 

답변

0

charge.php, 당신은 단지 token.Id에 변수 stripeToken을 설정하고 있습니다. 이 변수를 백엔드에 전달해야 처리 할 수 ​​있습니다.

즉, token.id 값을 얻은 후에는 처리 할 백엔드의 일부 끝점에 새 요청 (AJAX 또는 기타)을해야합니다. 귀하의 양식이 귀하의 스크립트를 중심으로 구성된 방식으로 작동하지 않습니다.

다음과 같은 것이 필요합니다. https://jsfiddle.net/osrLsc8m/