2016-01-22 43 views
3

我正在嘗試使用Stripe的簡單結帳系統。條紋簡單簽出自定義數據字段

我想包含一個自定義字段,以便我可以將item_id與我的數據庫中的訂單匹配。

https://stripe.com/docs/checkout#integration-simple

他們似乎並沒有提到它自己的文件中,但它似乎對在線服務非常必要。 如何附加將與訂單一起記錄的自定義ID字段?

echo '<form action="/charge" method="POST">'; 
echo '<script '; 
    echo 'src="https://checkout.stripe.com/checkout.js" class="stripe-button" '; 
    echo 'data-key="pk_test_ksdjhg8dsgsghdsgh" '; 
    echo 'data-email="[email protected]" '; 
    echo 'data-name="example.com" '; 
    //echo 'data-bitcoin="true" '; 
    echo 'data-description="Campaign" '; 
    echo 'data-currency="usd" '; 
    echo 'data-amount="2000" '; 
    echo 'data-locale="auto">'; 
echo '</script>'; 
echo '</form>'; 
+0

令牌怎麼樣? https://stripe.com/docs/checkout#integration-custom – Mauro

+0

@Mauro我可以用它來進行簡單的整合嗎? –

+0

正如文檔所述:只適用於定製集成 – Mauro

回答

3

我希望你需要你的自定義數據字段條紋結賬,並試圖以配合您的數據庫發送。如果我是對的?按照下面的細節。

對於包括你需要使用隱藏的輸入像下面的自定義數據:

echo '<form action="/charge" method="POST">'; 
echo '<script '; 
    echo 'src="https://checkout.stripe.com/checkout.js" class="stripe-button" '; 
    echo 'data-key="pk_test_ksdjhg8dsgsghdsgh" '; 
    echo 'data-email="[email protected]" '; 
    echo 'data-name="example.com" '; 
    //echo 'data-bitcoin="true" '; 
    echo 'data-description="Campaign" '; 
    echo 'data-currency="usd" '; 
    echo 'data-amount="2000" '; 
    echo 'data-locale="auto">'; 
echo '</script>'; 
echo '<input name="item_id" value="SOMEVALUEHERE" type="hidden">'; 
echo '</form>'; 

在上面的代碼中,我包括隱藏ITEM_ID。你可以從輸入字段的值在你的PHP頁面,如:

$item_id = $_POST["item_id"]; 
+0

哦,它會發布到返回地址? –

+0

是的,因爲它的一部分形式 –

+1

不適合我 - Stripe JS剝離了任何額外的表單輸入。 – Alex

0

我的經驗,這是一個自定義字段使用基本條紋結賬是不可能的,與此非常類似的問題接受的答案同意:

How to add custom fields to popup form of Stripe Checkout

我認爲最好的路由轉發將得到方便與stripe.js並創建一個自定義付款方式:

https://stripe.com/docs/custom-form

我正在通過在表單操作中使用不同的端點URL來解決這個問題,以執行不同的操作。這工作正常,但我最終可能會在生產代碼中使用stripe.js。

0

你可以做這樣的事情,以增加額外的信息

echo '<form action="/charge?item_id=123" method="POST">'; 

,並使用$_REQUEST['item_id']$_POST['item_id']代替電荷頁面以獲取價值。

不是我喜歡的工作方式,但在這種情況下,它解決了這個問題。