2013-08-01 19 views
23

Stripe'nin checkout.js kullanıyorum çünkü kurulumu ve kullanımı çok kolay. Kupon eklemek için bir yolu var mı?Stripe checkout.js kuponlarla

<script src="https://checkout.stripe.com/v2/checkout.js" 
    class="stripe-button" 
    data-key="pk_test_czwzkTp2tactuLOEOqbMTRzG" 
    data-amount="2000" 
    data-name="Demo Site" 
    data-description="2 widgets ($20.00)" 
    data-image="/128x128.png"> 
</script> 
+0

olası çift [uygulama şerit kupon] (http://stackoverflow.com/questions/18023369/apply-stripe-coupon) – Tarek

cevap

12

Çizgili Ödeme şu anda kuponları desteklemez. Düğme veya özel entegrasyon için documentation'da listelenmez.

Bazı gizli özelliklerin olup olmadığını merak edebilirsiniz. Ancak, belgesiz özelliklerin kullanılması, özellikle de ödeme işlemcinizin söz konusu olduğunda kötü bir fikirdir. Tam dur.


Bu Yığın Taşması - kazmaya devam edelim!

jsfiddle'ı kapatın. Kodunuzu html bölümüne yapıştırın. Ağ isteklerini görebilmek için geliştirici araçlarını açın.

Uluslararası bir dizeler dosyası olan bir en.json var. Kuponlar için bir giriş varsa, "Kupon Kodunu Girin" veya benzer bir şey söyleyen bir etiket olmalıdır. Hiçbiri yok. (Elbette, Stripe'in bu özel dizeyi kodlamaya karar vermesi ihtimali var, ama bu pek olası değil).

https://checkout.stripe.com/v3/data/languages/en.json

Ayrıca bu inner.js pop-up güç vermek için kullanılır görebilirsiniz. Kaynağı bir js güzelleştiricisine kopyalayın ve hiç söz edilmez. Aslında, seçenekleri ayrıştıran kodu göremezsiniz ve bunların hiçbiri kuponlarla ilgisi yoktur.

"lib/optionParser": function(exports, require, module) { 
    (function() { 
     var BOOLEAN_OPTIONS, DEFAULTS, STRING_OPTIONS, URL_OPTIONS, extractValue, helpers, toBoolean, _; 
     _ = require("vendor/lodash"); 
     helpers = require("lib/helpers"); 
     DEFAULTS = { 
      currency: "usd", 
      allowRememberMe: true 
     }; 
     BOOLEAN_OPTIONS = ["billingAddress", "shippingAddress", "notrack", "nostyle", "allowRememberMe", "allowPhoneVerification", "zipCode", "trace", "alipayReusable", "bitcoin"]; 
     STRING_OPTIONS = ["key", "amount", "name", "description", "panelLabel", "currency", "email", "locale", "alipay"]; 
     URL_OPTIONS = ["url", "referrer", "image"]; 

Sen seçeneklerin her burada

(sadece yerine CamelCase ait tire kullanmak gerekir) düğme için seçeneklere harita custom integration için mevcut seçenekler ile bire bir aynı hizaya nasıl görebilirsiniz

Bu noktada, kendinizi daha fazla ikna etmek istiyorsanız kazmaya devam edebilirsiniz, ancak Stripe Desteğine ulaşıp bir özellik isteği hazırlıyorum. Mutlu kazma!

7

Ödeme sadece belirteci oluşturur. Kupon, sunucuya iade edildikten ve müşteri ücretlendirildikten sonra müşteriye uygulanır.

stripe.Customer.create(
    source=token, 
    plan="basic_monthly", 
    email="[email protected]", 
    coupon="coupon_ID" 
) 
1

Arka uçunuza bir kupon kodu iletmek isterseniz, bunun için form içinde bir girdi alanı ekleyebilirsiniz. Karmaşık formdaki miktarları şeritten değiştirmeyecek, ancak girilen kupon kodunun parametrelerini kontrol etmek ve şerit komut parametrelerini değiştirmek için ek javascript çağırmak istemediğiniz sürece.

Şeritle kullanılmadıkları sürece, form etiketlerinde ihtiyaç duyduğunuz tüm girdileri ekleyebilirsiniz.

<form action="/your-server-side-code" method="POST"> 
 
    Coupon Code: <input type="text" name="coupon_code"> 
 
    <br> 
 
    <script src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button" data-key="pk_test_czwzkTp2tactuLOEOqbMTRzG" data-amount="2000" data-name="Demo Site" data-description="2 widgets ($20.00)" data-image="/128x128.png"> 
 
    </script> 
 
</form>
İlgili konular