2013-08-01 45 views
23

Tôi đang sử dụng sọc checkout.js của Stripe vì nó rất dễ cài đặt và sử dụng. Có cách nào để thêm phiếu giảm giá không?Sọc checkout.js với phiếu giảm giá

<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

thể trùng lặp của [Apply sọc Phiếu giảm giá] (http://stackoverflow.com/questions/18023369/apply-stripe-coupon) – Tarek

Trả lời

12

Thanh toán sọc hiện không hỗ trợ phiếu giảm giá. Nó không được liệt kê trong các documentation, cho một trong hai nút hoặc tích hợp tùy chỉnh.

Người ta có thể tự hỏi liệu có một số tính năng bí mật hay không. Tuy nhiên, sử dụng các tính năng không có giấy tờ, đặc biệt là khi nói đến bộ xử lý thanh toán của bạn là một ý tưởng tồi. Ngừng hẳn.


Đây là ngăn xếp ngăn xếp - hãy tiếp tục đào!

Cháy lên jsfiddle. Dán mã của bạn vào phần html. Mở công cụ nhà phát triển để bạn có thể xem yêu cầu mạng.

Có tệp en.json, là tệp chuỗi được quốc tế hóa. Nếu có một đầu vào cho phiếu giảm giá, có phải là một nhãn nói "Nhập mã phiếu giảm giá" hoặc một cái gì đó tương tự. Chẳng có ai. (Chắc chắn, có khả năng là Stripe đã quyết định mã hóa cứng chuỗi ký tự đặc biệt này, nhưng điều đó có vẻ khó xảy ra).

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

Bạn cũng có thể nhìn thấy inner.js được sử dụng để cấp nguồn cho các popup. Sao chép nguồn vào một js beautifier và bạn thấy rằng không có đề cập đến. Trong thực tế, bạn có thể thấy mã phân tích các tùy chọn và không ai trong số họ phải làm với phiếu giảm giá.

"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"]; 

Bạn có thể xem như thế nào mỗi người trong số các tùy chọn ở đây sắp xếp 1-1 với các tùy chọn mà có sẵn cho custom integration, mà bản đồ để các tùy chọn cho các nút (bạn chỉ cần sử dụng dấu gạch ngang thay vì camelcase)

Tại thời điểm này, bạn có thể tiếp tục đào nếu bạn muốn thuyết phục bản thân hơn nữa, nhưng tôi sẽ liên hệ với bộ phận Hỗ trợ Stripe và đưa ra yêu cầu tính năng. Chúc bạn vui vẻ!

7

Thanh toán chỉ tạo mã thông báo. Phiếu giảm giá được áp dụng cho khách hàng sau khi mã thông báo được trả lại cho máy chủ và khách hàng bị tính phí.

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

Nếu bạn muốn chuyển mã phiếu mua hàng cho đầu cuối, bạn chỉ có thể thêm trường nhập cho nó trong biểu mẫu. Nó sẽ không thay đổi số tiền trong hình thức pop-up từ sọc tuy nhiên, trừ khi bạn muốn nhận được tinh vi và gọi javascript bổ sung để kiểm tra các thông số của mã phiếu giảm giá đã nhập và thay đổi các tham số script sọc.

Bạn có thể bao gồm bất kỳ yếu tố đầu vào nào bạn cần trong các thẻ biểu mẫu miễn là chúng không được sử dụng theo sọc.

<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>

Các vấn đề liên quan