2015-02-11 33 views
2

我有一張結帳表單,我正在使用它將購物車詳細信息發送到不同的支付網關,例如使用Symfony的PayPal和Payum帶自定義表單的條紋結帳symfony

現在我試圖將支付細節發送到分條,以防用戶選擇分條結賬選項。在與條紋的整合工作正常的那一刻,我可以給支付,並從條紋響應但爲了發送信用卡細節條紋我重定向到capture

enter image description here

在那裏我看到了「支付用卡」按鈕,如果我點擊它在彈出窗口輸入信用卡信息

enter image description here

我想這樣做是允許用戶,我有相當結算表單添加信用卡詳細信息比您在彈出窗口中看到的表單要好。是否有可能實現這一目標?我怎樣才能使用我自己的形式發送數據到條紋而不是使用條形彈出?

我在thisthis的例子中發現了一個關於該過程的例子。有條紋的例子嗎?任何幫助將不勝感激。

回答

2

條紋結帳是這樣設計的。你看到按鈕點擊它,填寫所有必需的信息,就是這樣。

如果您想更早,你可以做,填補信用卡的詳細信息,但在這種情況下,你必須使用

  • 條「直接」。實施了Omnipay和使用通過Omnipay橋
  • 你要通過omnipay信用卡是這樣的(better way is not implemented yet):

    $命令 - > setDetails(陣列( '卡'=>新的信用卡式($數據) ));

    • 並使用$this->forward而不是重定向。由於信用卡沒有保存到數據庫,您必須立即處理它們。(example
+0

感謝相關的,你是正確的,我沒有使用omnipay橋條紋實施 – Baig 2015-02-12 09:17:16

2

這是條紋的例子在Javascript中:

包括Stripe.js

<script type="text/javascript" src="https://js.stripe.com/v2/"></script> 

設置您發佈的關鍵:

Stripe.setPublishableKey('YOUR_PUBLISHABLE_KEY'); 

發送數據:

Stripe.card.createToken({ 
     number: $('.card-number').val(), 
     cvc: $('.card-cvc').val(), 
     exp_month: $('.card-expiry-month').val(), 
     exp_year: $('.card-expiry-year').val() 
    }, stripeResponseHandler); 

RESP ONSE:

function stripeResponseHandler(status, response) { 
    var $form = $('#payment-form'); 

    if (response.error) { 
    // Show the errors on the form 
    $form.find('.payment-errors').text(response.error.message); 
    $form.find('button').prop('disabled', false); 
    } else { 
    // response contains id and card, which contains additional card details 
    var token = response.id; 
    // Insert the token into the form so it gets submitted to the server 
    $form.append($('<input type="hidden" name="stripeToken" />').val(token)); 
    // and submit 
    $form.get(0).submit(); 
    } 
} 

的詳細檢查此鏈接 https://stripe.com/docs/stripe.js

+0

感謝,但問題是,以sumfony payumBundle不是定製的PHP和JS – Baig 2015-02-11 11:50:36