Cách thiết lập thanh toán đăng ký

Sara James
Sara James

ProductDefinitionNhững gì công ty của bạn cung cấp — dù là hàng hóa hay dịch vụ. Giá Bao nhiêu và tần suất tính phí cho các sản phẩm, bao gồm giá của sản phẩm, đơn vị tiền tệ sẽ được sử dụng và khoảng thời gian nếu giá dành cho đăng ký. Đối tượng CustomerStripe Customer cho phép bạn thực hiện các khoản phí định kỳ trên cùng một khách hàng và theo dõi nhiều khoản phí cùng một lúc. ID khách hàng được chuyển đến đối tượng đăng ký khi bạn tạo đăng ký. Công cụ thanh toán của khách hàng của bạn--cách họ thanh toán cho dịch vụ của bạn. Ví dụ: bạn có thể giữ thẻ tín dụng trên đối tượng khách hàng để sử dụng trong tương lai. Thường được sử dụng cùng với API Mục đích thanh toán hoặc Mục đích thiết lập. Đăng ký Chi tiết về sản phẩm được liên kết với gói mà khách hàng của bạn đăng ký, cho phép bạn tính phí khách hàng định kỳ. Một tuyên bố về số tiền nợ của khách hàng được gọi là hóa đơn. Họ theo dõi các khoản thanh toán từ hối phiếu đến thanh toán hoặc hoàn tất. Đăng ký tự động tạo hóa đơn. Bạn cũng có thể tạo hóa đơn một lần theo cách thủ công. PaymentIntent là một phương thức để tạo các luồng thanh toán động. Khi được yêu cầu bởi các nhiệm vụ quy định, quy tắc gian lận Radar tùy chỉnh hoặc phương thức thanh toán dựa trên chuyển hướng, Mục đích thanh toán theo dõi vòng đời của quy trình thanh toán của khách hàng và kích hoạt các bước xác thực bổ sung. Hóa đơn tạo ý định thanh toán tự động

Cách thiết lập thanh toán đăng ký

Phần này mô tả tích hợp mẫu GitHub của chúng tôi, trình bày cách tạo tích hợp đăng ký. Nếu bạn đã sẵn sàng bắt đầu, hãy xem hướng dẫn bắt đầu nhanh hoặc hướng dẫn tích hợp của chúng tôi.

Trang đích

Địa chỉ email được thu thập đầu tiên trên giao diện người dùng của bạn bởi trang đích. Thông tin dành riêng cho khách hàng khác, chẳng hạn như tên người dùng hoặc địa chỉ, có thể được ứng dụng của bạn thu thập. Khi bạn nhấp vào nút đăng ký, thông tin được thu thập trên trang đích sẽ được gửi đến chương trình phụ trợ của bạn. Quy trình này tạo một khách hàng và hiển thị trang định giá trên giao diện trang web của bạn

trang giá

Trang định giá hiển thị các tùy chọn đăng ký của bạn dựa trên các sản phẩm và giá bạn thiết lập khi thiết lập tích hợp lần đầu, vì vậy bạn không phải tạo các tùy chọn mới mỗi khi khách hàng đăng ký. Trang định giá của bạn hiển thị giá bạn đã thiết lập và khách hàng của bạn chọn tùy chọn họ thích. Khi khách hàng chọn một tùy chọn, ví dụ GitHub sẽ hiển thị biểu mẫu thanh toán

Tìm hiểu thêm về sản phẩm và giá .

Sự chi trả

Hình thức thanh toán yêu cầu tên và thông tin thẻ tín dụng. Nếu bạn sử dụng Checkout, Stripe sẽ lưu trữ biểu mẫu này. Đây là một trong những tính năng quan trọng nhất cho phép bạn thu tiền thanh toán trong khi vẫn tuân thủ PCI. Nhấp vào Đăng ký

  1. Chức năng này tạo đăng ký mới với ID giá và khách hàng của bạn
  2. Tạo hóa đơn cho chu kỳ đăng ký đầu tiên của bạn
  3. Lấy thông tin thanh toán và thanh toán hóa đơn của bạn
  4. Đặt phương thức thanh toán làm phương thức thanh toán mặc định của đăng ký--một yêu cầu đối với các khoản thanh toán tiếp theo

Bạn nên xác nhận thanh toán trước cho khách hàng của mình.

Để thực hiện điều này

  • Nếu bạn không muốn viết mã, hãy tìm hiểu cách tạo Liên kết thanh toán và phân phối liên kết đó cho khách hàng của bạn.
  • Tìm hiểu cách sử dụng mã thấp nếu bạn sử dụng Checkout.
  • Tìm hiểu cách sử dụng Phần tử thanh toán hoặc Phần tử thẻ để tạo mã tùy chỉnh nếu bạn đang sử dụng Phần tử

cung cấp

Sau khi thanh toán thành công, một trang xác nhận sẽ xuất hiện. Bây giờ nó là an toàn để cung cấp sản phẩm cho khách hàng. Điều này nói chung có nghĩa là

  1. Xác minh trạng thái của đăng ký là

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    02
  2. Cung cấp cho khách hàng quyền truy cập vào các sản phẩm và tính năng mà họ đã đăng ký

Tìm hiểu cách sử dụng webhook để.

Để xử lý các khoản thanh toán không thành công dễ dàng hơn và tạo đăng ký trước khi thử thanh toán

  1. Khi tạo đăng ký, hãy nhập mã này. Nếu đăng ký của bạn yêu cầu thanh toán, nó sẽ được tạo với trạng thái

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    03;
  2. Thanh toán hóa đơn đầu tiên để kích hoạt đăng ký không hoạt động
  3. Để thu thập thông tin thanh toán, hãy chuyển mã định danh mục đích thanh toán từ hóa đơn sang giao diện người dùng của bạn. xác nhận ý định thanh toán. Tất cả các yếu tố, SDK Android hoặc SDK iOS đều có thể được sử dụng.

Tình trạng thanh toán

Phương thức thanh toán và vị trí địa lý có quy trình thanh toán khác nhau. Lúc đầu, thanh toán cũng có thể bị lỗi (ví dụ: khách hàng có thể nhập sai số thẻ hoặc không đủ tiền), dẫn đến nhiều kết quả thanh toán khác nhau

A PaymentIntent giám sát vòng đời của từng khoản thanh toán. Khi đến hạn thanh toán đăng ký, Stripe tạo hóa đơn và PaymentIntent. ID Mục đích thanh toán được liên kết với hóa đơn và có thể được truy cập thông qua các đối tượng Hóa đơn và Đăng ký. Trạng thái PaymentIntent ảnh hưởng đến trạng thái hóa đơn và đăng ký. Đây là cách các kết quả thanh toán khác nhau tương ứng với các trạng thái khác nhau.

Kết quả thanh toánTrạng thái ý định thanh toánTrạng thái hóa đơnTrạng thái đăng kýThành công

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

05

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

0

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02Không đạt do lỗi thẻ

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

2

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

3

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03Không đạt do xác thực

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

5

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

3

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03Không đạt do gian lận

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

5

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

3

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03

Các phần tiếp theo giải thích các trạng thái này và các hành động cần thực hiện đối với từng trạng thái.

thành công

Khi thanh toán của bạn thành công, trạng thái PaymentIntent sẽ thay đổi thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

05 và đăng ký trở thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02. Đối với phương thức thanh toán Đăng ký có thời gian xử lý lâu hơn sẽ được kích hoạt ngay lập tức. Trong những trường hợp này, trạng thái PaymentIntent có thể là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

70 đối với đăng ký

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02 cho đến khi thanh toán thành công.

Cung cấp quyền truy cập vào sản phẩm của bạn ngay bây giờ khi đăng ký của bạn đã được kích hoạt. Đọc hướng dẫn để tìm hiểu thêm về và các phương pháp hay nhất để cung cấp.

Phản hồiĐăng kýThanh toánÝ định

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

9

hoạt động thành công

Cách thiết lập thanh toán đăng ký

Yêu cầu phương thức thanh toán

Nếu thanh toán không thành công do a, chẳng hạn như , thì trạng thái PaymentIntent là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

2 và đăng ký là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03.

Phản hồiĐăng kýThanh toánÝ định

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

không hoàn chỉnhrequires_payment_method

Để giải quyết những tình huống này

  • Thông báo cho khách hàng
  • Thu thập chi tiết thanh toán mới và xác nhận ý định thanh toán
  • Cập nhật đăng ký

Tìm hiểu cách .

Cách thiết lập thanh toán đăng ký

Yêu cầu hành động

Một số phương thức thanh toán yêu cầu xác minh khách hàng bằng 3D Secure (3DS) để hoàn tất quy trình thanh toán. Khi khách hàng cần xác thực thanh toán bằng API Mục đích thanh toán, giá trị của

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

74 là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

5. 3DS hoàn tất quá trình xác thực. Phương thức thanh toán có yêu cầu xác thực hay không tùy thuộc vào bạn. cũng như ngân hàng phát hành thẻ.

Ở Châu Âu, 3D Secure thường được yêu cầu theo quy định. Xem Xác thực khách hàng hiệu quả để xác định xem việc xử lý trạng thái này có quan trọng đối với công ty của bạn hay không. Nếu bạn đã có tích hợp thanh toán và muốn thêm hỗ trợ cho quy trình này, hãy xem thêm Hướng dẫn di chuyển SCA thanh toán .

Phản hồiĐăng kýThanh toánÝ định

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

7

không hoàn chỉnhrequires_action

Để xử lý các tình huống này

  • Hãy theo dõi thông báo sự kiện

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    76. webhook . Điều này cho thấy sự cần thiết phải xác thực.
  • Thông báo cho khách hàng của bạn rằng họ phải tự xác thực
  • Nhận bí mật khách hàng cho mục đích thanh toán và chuyển nó cho Stripe. Xác NhậnThẻThanh Toán. Điều này hiển thị cho khách hàng của bạn một phương thức xác thực, thử thanh toán, sau đó đóng phương thức đó và trả về ngữ cảnh cho ứng dụng của bạn
  • Kiểm tra sự kiện

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    77 trên điểm cuối webhook của bạn để đảm bảo rằng thanh toán đã thành công. Người dùng có thể thoát khỏi ứng dụng của bạn trước khi

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    78 hoàn thành. Xác minh xem thanh toán có thành công hay không cho phép bạn cung cấp sản phẩm của mình đúng cách

Cách thiết lập thanh toán đăng ký

Phí định kỳ

Stripe tự động xử lý các khoản phí định kỳ cho bạn. Điêu nay bao gôm

  • khi chu kỳ thanh toán mới bắt đầu, khách hàng và các lần thanh toán
  • Stripe thử lại các khoản thanh toán không thành công bằng cách sử dụng tính năng . Khi thẻ bị từ chối, điều này sẽ tự động thử thanh toán lại dựa trên cài đặt Trang tổng quan của bạn.

Bạn có thể gửi email giả cho khách hàng về các khoản thanh toán quá hạn để tăng cơ hội thu hồi. Đối với thanh toán 3D Secure, bạn có thể định cấu hình cài đặt thanh toán của mình để gửi liên kết được lưu trữ cho khách hàng để họ hoàn tất quy trình.

Tạo phản hồi của riêng bạn đối với các lỗi sạc định kỳ

Nếu bạn không muốn sử dụng các công cụ quản lý lỗi của Stripe, bạn có thể tạo công cụ của riêng mình. Nếu thanh toán không thành công hoặc yêu cầu xác thực khách hàng, thì

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

79 của đăng ký được đặt thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

60 và trạng thái Mục đích thanh toán là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

2 hoặc

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

5

Cách thiết lập thanh toán đăng ký

Tạo bảng tính để quản lý các tình huống này. webhook và lắng nghe sự kiện được thông báo khi đăng ký đạt đến trạng thái

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

60.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

6

Bạn phải đưa khách hàng trở lại ứng dụng của mình để nhận một phương thức thanh toán khác để họ có thể hoàn tất thanh toán cho các đăng ký này. Bạn có tùy chọn gửi email hoặc thông báo đẩy trên thiết bị di động. Stripe có các email nhắc nhở tích hợp cho tình huống này, bạn có thể định cấu hình email này trong cài đặt thanh toán của mình

Khi khách hàng quay lại ứng dụng của bạn, bạn có thể sử dụng lại hoặc của mình tùy thuộc vào trạng thái của PaymentIntent tương ứng. Khi thanh toán thành công, trạng thái của thuê bao là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02 và hóa đơn là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

0.

Xử lý hóa đơn không thanh toán

Đăng ký bao gồm bản dùng thử miễn phí , Hóa đơn không thanh toán thường được tạo bởi các hóa đơn có phiếu giảm giá hoặc . Điều này có nghĩa là khi bạn tạo đăng ký, bạn không tính phí khách hàng ngay lập tức.

Ngay cả khi bạn không tính phí khách hàng cho hóa đơn đầu tiên, việc xác thực và ủy quyền thẻ của họ thường có lợi vì điều này làm tăng khả năng thành công của khoản thanh toán khác không đầu tiên. Thanh toán được thực hiện theo cách này được gọi là thanh toán ngoài phiên . Stripe đã tạo SetupIntents để quản lý các tình huống này.

Sử dụng SetupIntent

Bạn có thể sử dụng SetupIntents để

  • Thu thập thông tin thanh toán
  • Để yêu cầu, trước tiên bạn phải xác thực thẻ khách hàng của mình. sau.
  • Ủy quyền thẻ khách hàng của bạn nhưng không tính phí

Việc xác thực thanh toán cho phép khách hàng của bạn ủy quyền cho bạn tính phí vào thẻ tín dụng của họ. Xác thực khách hàng hiệu quả yêu cầu điều này và 3DS là cách phổ biến để hoàn thành . Thu thập thông tin phương thức thanh toán và ủy quyền để đảm bảo rằng bạn có thể tính phí phương thức thanh toán thành công.

SetupIntents cho phép bạn tính phí khách hàng cho khoản thanh toán khác không đầu tiên của họ trong các trường hợp ngoài phiên mà không yêu cầu họ quay lại trang web hoặc ứng dụng của bạn để xác thực. Điều này làm giảm ma sát cho khách hàng của bạn

Stripe tự động tạo SetupIntents cho các đăng ký không yêu cầu thanh toán ban đầu. Nếu cần thiết, quá trình xác thực và ủy quyền cũng được hoàn thành tại thời điểm này. Nếu không thành công hoặc không bắt buộc, thì không cần thực hiện hành động nào và trường

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

66 là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

67. Nếu một trong hai bước không thành công, Stripe khuyên bạn nên giải quyết vấn đề trên giao diện người dùng của mình bằng SetupIntent trong khi khách hàng của bạn vẫn đang trong phiên. Hai phần sau đây mô tả chi tiết cách xử lý các tình huống trong đó xác thực hoặc ủy quyền không thành công

Quản lý lỗi xác thực Phía máy khách

Stripe gặp lỗi xác thực khi không thể xác thực khách hàng của bạn với nhà phát hành thẻ của họ. Khi điều này xảy ra,

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

79 của SetupIntent được đặt thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

5

Cách thiết lập thanh toán đăng ký

Để giải quyết các tình huống này, hãy liên hệ với giao diện người dùng của bạn để khách hàng của bạn có thể hoàn tất quy trình xác thực theo cách thủ công. Ví dụ mã sau mở rộng

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

60 để hoàn thành quy trình

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

6

Nếu yêu cầu ủy quyền sau khi hoàn thành quy trình này, nó sẽ được thực thi. Sau khi hoàn thành,

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

60 được cập nhật thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

67 nếu ủy quyền thành công hoặc nếu không bắt buộc

Quản lý lỗi ủy quyền Phía máy khách

Lỗi ủy quyền thanh toán xảy ra khi Stripe không thể xác nhận rằng thẻ có thể bị tính phí. Khi điều này xảy ra,

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

79 của SetupIntent được đặt thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

2. Điều này thường có nghĩa là mọi khoản phí tiếp theo được thực hiện bằng thẻ đó sẽ không thành công

Cách thiết lập thanh toán đăng ký

Để giải quyết các trường hợp này, , sau đó thay đổi phương thức thanh toán mặc định của khách hàng hoặc đăng ký của bạn. Ví dụ mã sau mở rộng

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

60 để hoàn thành quy trình.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

3

Đây là một ví dụ về luồng đăng ký được đề xuất

hành vi thanh toán

Đăng ký

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

79 là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03 nếu bạn đặt

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

66 thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

67. Tìm hiểu lý do tại sao chúng tôi khuyên bạn nên sử dụng loại này cho đăng ký.

  1. Bạn tạo đăng ký.

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    79 của thuê bao là

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    031
  2. Hóa đơn đăng ký được tạo. Hóa đơn

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    79 là

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    3
  3. Hóa đơn đầu tiên được thanh toán bởi khách hàng
  4. Khi thanh toán thành công
    • Đăng ký

      { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

      79 được chuyển sang

      { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

      02
    • Hóa đơn

      { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

      79 có giá trị là

      { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

      0
    • Stripe phát sóng webhook sự kiện

      { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

      77
  5. Bạn cấp quyền truy cập vào sản phẩm của mình. Bạn có thể kiểm tra xem hóa đơn đã được thanh toán chưa
    • Định cấu hình điểm cuối webhook và theo dõi sự kiện

      { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

      77
    • Kiểm tra đối tượng đăng ký theo cách thủ công cho

      { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

      020. Khi hóa đơn được thanh toán, tự động hoặc thủ công bởi khách hàng, thì

      { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

      79 trở thành

      { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

      02

Nếu bạn cung cấp bản dùng thử miễn phí, thì

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

79 cũng có thể trở thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02. Khi thời gian dùng thử hết hạn, đăng ký được chuyển sang

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02 và khách hàng đã đăng ký sẽ bị tính phí

1 Nếu bạn làm theo quy trình đề xuất. Nếu bạn tạo đăng ký mà không chỉ định

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

66, thì

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

79 sẽ là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02 theo mặc định

Cách thiết lập thanh toán đăng ký

Hành vi thanh toán đăng ký

Tạo đăng ký với giá trị

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

66 được đặt để đơn giản hóa việc xử lý các khoản thanh toán không thành công. . Điều này tạo ra các đăng ký với trạng thái

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03, cho phép bạn thu thập và xác nhận thông tin thanh toán từ một giao diện người dùng duy nhất. Khi bạn sử dụng

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

031 hoặc

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

032, Stripe sẽ cố gắng thanh toán hóa đơn ngay lập tức. Nếu thanh toán không thành công, trạng thái của đăng ký sẽ thay đổi thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03 và quá trình tạo không thành công

thanh toán thành công

Khi khách hàng của bạn thanh toán hóa đơn thành công, đăng ký được cập nhật thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02 và hóa đơn được cập nhật thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

0. Bây giờ bạn có thể cấp cho người dùng quyền truy cập vào sản phẩm của mình

cửa sổ thanh toán

Khách hàng có khoảng 23 giờ để hoàn tất thanh toán thành công. Trong thời gian này, đăng ký vẫn ở trạng thái

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03 và hóa đơn là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

3. Nếu khách hàng của bạn thanh toán hóa đơn, đăng ký sẽ được cập nhật thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02 và hóa đơn sẽ được cập nhật thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

0. Nếu họ không thanh toán, đăng ký sẽ trở thành ________ 0020 và hóa đơn trở thành ________ 0021

Cửa sổ này tồn tại vì khách hàng của bạn thường thực hiện khoản thanh toán đầu tiên cho đăng ký trong khoảng thời gian này. trong phiên . Tạo đăng ký mới cho khách hàng nếu họ quay lại ứng dụng của bạn sau 23 giờ.

Thanh toán không thành công

Miễn là thanh toán tự động thành công, trạng thái của đăng ký vẫn là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02. Nếu thanh toán tự động không thành công, đăng ký sẽ được cập nhật thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

60 và Stripe sẽ cố gắng khôi phục khoản thanh toán bằng cách sử dụng các quy tắc thử lại mà bạn đã đặt. Nếu khôi phục thanh toán không thành công, bạn có thể thay đổi trạng thái đăng ký thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

024,

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

025 hoặc

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

60

Đăng ký chưa thanh toán

Hóa đơn gần đây nhất vẫn mở cho các đăng ký chưa thanh toán, nhưng các khoản thanh toán chưa được thực hiện. Mỗi chu kỳ thanh toán, đăng ký tạo hóa đơn và duy trì ở trạng thái

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

027. Bạn phải kích hoạt lại đăng ký

  • Thu thập thông tin thanh toán mới
  • Kích hoạt lại bộ sưu tập tự động bằng cách đặt

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    028 trên hóa đơn nháp
  • Hoàn thành và sau đó thanh toán hóa đơn nháp. Để cập nhật trạng thái của đăng ký thành

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    02, hãy thanh toán hóa đơn gần đây nhất trước ngày đến hạn

Hành vi mặc định là đặt đăng ký

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

60 thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

025 vì nó cung cấp nhiều tùy chọn nhất để kích hoạt lại đăng ký

Nếu bạn tiếp tục sử dụng đăng ký chưa thanh toán, hóa đơn chưa thanh toán gần đây nhất vẫn mở, hóa đơn mới được tạo và thanh toán cho hóa đơn mới sẽ được thực hiện. Sử dụng hành vi này nếu bạn muốn tiếp tục lập hóa đơn cho khách hàng của mình ngay cả khi các khoản thanh toán hóa đơn trước đó không thành công. Nếu hóa đơn gần đây nhất được thanh toán, trạng thái đăng ký sẽ được đặt lại thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02

Hủy đăng ký

Bằng cách đặt

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

053 thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

054, bạn có thể vô hiệu hóa việc tạo hóa đơn mới cho đăng ký cũng như tự động thu thập tất cả hóa đơn từ đăng ký. Nó cũng xóa đăng ký. Nếu khách hàng của bạn muốn đăng ký lại, bạn phải lấy thông tin thanh toán mới và tạo đăng ký mới

Làm mất hiệu lực hóa đơn do đăng ký tạo

Nếu đăng ký là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03 và bạn hủy hóa đơn đầu tiên, đăng ký sẽ được cập nhật thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

020. Nếu bạn hủy hóa đơn gần đây nhất cho một đăng ký đang hoạt động không phải là đăng ký đầu tiên, logic sau sẽ được áp dụng cho từng hóa đơn (từ gần đây nhất đến cũ nhất) cho đến khi một trong các điều kiện này được đáp ứng

  • Trạng thái đăng ký được đặt thành

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    02 nếu hóa đơn ở trạng thái

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    0 hoặc

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    058
  • Nếu trên hóa đơn được đặt thành

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    00 và Stripe ngừng ghi chú trên hóa đơn do giới hạn thử lại, thì trạng thái đăng ký được đặt thành

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    024,

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    025 hoặc

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    60 dựa trên cài đặt bộ sưu tập tự động của bạn
  • Nếu được đặt thành

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    04 và hóa đơn đã quá hạn, thì trạng thái của đăng ký được đặt thành

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    60
  • Nếu hóa đơn không ở bất kỳ trạng thái nào trong số này, thì các bước tương tự được thực hiện trên hóa đơn gần đây nhất

Nếu không có tiêu chí nào ở trên được đáp ứng, trạng thái đăng ký được đặt thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02

trạng thái đăng ký

Đăng ký hiện đang trong thời gian dùng thử và việc cung cấp sản phẩm cho khách hàng của bạn là an toàn. Khi khoản thanh toán đầu tiên được thực hiện, đăng ký sẽ tự động chuyển sang

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02Đăng ký đang hoạt động và khoản thanh toán gần đây nhất đã thành công. An toàn khi dự trữ sản phẩm của bạn cho khách hàng của bạn.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03Để kích hoạt đăng ký, thanh toán thành công phải được thực hiện trong vòng 23 giờ. Hoặc thanh toán cần một hành động, chẳng hạn như xác thực khách hàng. Đọc thêm về các khoản thanh toán . Đăng ký cũng có thể là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03 nếu nợ thanh toán. Trạng thái hóa đơn sẽ là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

12 trong trường hợp đó và trạng thái PaymentIntent sẽ là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

70.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

020Thanh toán ban đầu của đăng ký không thành công và không có khoản thanh toán thành công nào được thực hiện trong vòng 23 giờ kể từ khi tạo đăng ký. Những đăng ký này không lập hóa đơn cho khách hàng. Trạng thái này tồn tại để bạn có thể theo dõi những khách hàng không kích hoạt đăng ký của họ. Thanh toán trên hóa đơn cuối cùng gần đây nhất không thành công hoặc không được thực hiện. Thuê bao vẫn xuất hóa đơn. của bạn xác định trạng thái tiếp theo của đăng ký. Nếu sau cùng, hóa đơn vẫn chưa được thanh toán Thử lại thông minh Sau khi thực hiện tất cả các nỗ lực, bạn có thể định cấu hình đăng ký để chuyển sang

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

024,

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

025 hoặc giữ nguyên . Thanh toán hóa đơn gần đây nhất trước ngày đến hạn để chuyển đăng ký sang

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

024Đăng ký đã bị hủy. Bộ sưu tập tự động cho tất cả các hóa đơn chưa thanh toán bị vô hiệu hóa trong quá trình hủy bỏ (

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

21). Đây là trạng thái cuối cùng không thể thay đổi.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

025Hóa đơn gần đây nhất chưa được thanh toán, nhưng đăng ký vẫn hoạt động. Hóa đơn gần đây nhất vẫn mở và hóa đơn vẫn được tạo nhưng thanh toán chưa được thực hiện. Bởi vì các khoản thanh toán đã được thử và thử lại khi đăng ký là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

025, bạn nên thu hồi quyền truy cập vào sản phẩm của mình khi đăng ký là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

025. Thanh toán hóa đơn gần đây nhất trước ngày đến hạn để chuyển đăng ký sang

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02.

được kích hoạt bất cứ khi nào đăng ký được tạo hoặc sửa đổi. Một số sự kiện được gửi ngay lập tức khi đăng ký được tạo, trong khi những sự kiện khác được lên lịch diễn ra theo các khoảng thời gian thanh toán thông thường. Bạn nên theo dõi các sự kiện có điểm cuối webhook .

Kiểm tra xem tích hợp của bạn có xử lý các sự kiện chính xác không. Ví dụ: bạn có thể muốn gửi email cho khách hàng nếu thanh toán không thành công hoặc bạn có thể muốn thu hồi quyền truy cập của khách hàng khi đăng ký bị hủy

Bảng bên dưới mô tả các sự kiện phổ biến nhất liên quan đến đăng ký và, nếu có, đề xuất các hành động để xử lý các sự kiện

Khi Khách hàng được tạo thành công, sự kiện này sẽ được gửi. Khi đăng ký được tạo,

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

27 được gửi. Nếu cần xác thực khách hàng để hoàn tất thanh toán hoặc nếu bạn đặt

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

66 thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

67, thì trạng thái đăng ký có thể là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03. Để biết thêm chi tiết, hãy đọc về . Khi đăng ký của khách hàng hết hạn, tin nhắn này sẽ được gửi.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

32Đã gửi ba ngày trước khi thời gian dùng thử kết thúc . Sự kiện này xảy ra nếu bản dùng thử kéo dài dưới ba ngày.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

33Được gửi khi đăng ký bắt đầu thành công và thanh toán được xác nhận. Cũng được gửi khi đăng ký được gia hạn. đã thay đổi . Sự kiện này được kích hoạt bởi các hành động như thêm phiếu giảm giá, áp dụng chiết khấu, thêm mục hóa đơn và thay đổi gói.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

34Được gửi khi hóa đơn cho đăng ký mới hoặc gia hạn được tạo. Nếu Stripe không nhận được phản hồi thành công cho

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

34, thì tất cả các hóa đơn sẽ được hoàn tất với bộ sưu tập tự động bị hoãn lại trong tối đa 72 giờ. Đọc thêm về .
  • Gửi yêu cầu tới API Hoàn tất hóa đơn để phản hồi thông báo

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

36Được gửi khi hóa đơn đã được hoàn tất thành công và sẵn sàng để thanh toán
  • Bạn có tùy chọn gửi hóa đơn cho khách hàng. Đọc thêm về .
  • Stripe tính phí phương thức thanh toán mặc định hoặc các nỗ lực thu tiền dựa trên cài đặt của bạn. Đọc thêm về .

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

37Không thể hoàn tất hóa đơn. Tìm hiểu cách bằng cách đọc hướng dẫn. Tìm hiểu thêm về trong hướng dẫn tổng quan về hóa đơn.
  • Kiểm tra hóa đơn để xác định nguồn gốc của lỗi
  • Kiểm tra trường của đối tượng Hóa đơn nếu bạn đang sử dụng Stripe Tax
  • Nếu không có

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    38 thì không thể hoàn tất hóa đơn và không thể thu tiền. Thông báo cho khách hàng của bạn và thu thập thông tin cần thiết. vị trí của khách hàng .
  • Nếu

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    39, hãy thử lại sau
Khi hóa đơn được thanh toán thành công,

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

77 được gửi. Khi bạn nhận được sự kiện này, bạn có thể cấp quyền truy cập vào sản phẩm của mình và đăng ký

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

79 là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

02. Khi hóa đơn yêu cầu xác thực khách hàng, mã này được gửi. Tìm hiểu cách xử lý đăng ký khi hóa đơn đến. .

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

44

Thanh toán hóa đơn không thành công. Trạng thái PaymentIntent hiện là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

5. Trạng thái của đăng ký vẫn là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

03 chỉ dành cho hóa đơn đầu tiên của đăng ký. Có một số tùy chọn cho những việc cần làm nếu thanh toán không thành công

  • Thông báo cho khách hàng. Tìm hiểu về cách định cấu hình để bật Thử lại thông minh và các tính năng khôi phục doanh thu khác.
  • Thu thập thông tin thanh toán mới và xác nhận PaymentIntent nếu bạn đang sử dụng PaymentIntent
  • Cập nhật đăng ký

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

47Đã gửi vài ngày trước khi gia hạn đăng ký. Số ngày được xác định bởi số được đặt trong Bảng điều khiển cho các sự kiện gia hạn sắp tới. Bạn vẫn có thể thêm , nếu cần.

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

48Được gửi khi thanh toán thành công hoặc không thành công. Nếu thanh toán thành công, thuộc tính

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

0 được đổi thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

028 và thuộc tính

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

79 được đổi thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

0. Nếu thanh toán không thành công,

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

0 được đổi thành

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

054, trong khi

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

79 vẫn là

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

3. Lỗi thanh toán cũng gây ra sự kiện

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

44. Khi một PaymentIntent được tạo,

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

58 được gửi. Khi một PaymentIntent đã hoàn thành thanh toán thành công,

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

59 được gửi.

tổng quan về hóa đơn cung cấp giải thích chi tiết hơn về cách thức hoạt động của hóa đơn, nhưng vòng đời cơ bản của hóa đơn do đăng ký tạo sẽ giống như sau.

  1. Đăng ký tạo hóa đơn mới ở trạng thái

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    027
  2. Giới thiệu Hóa đơn được hoàn tất sau khi tạo (không còn cho phép thay đổi).
  3. Stripe tự động cố gắng thanh toán bằng phương thức thanh toán mặc định vì trạng thái được đặt thành

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    3
  4. Nếu thanh toán thành công, trạng thái được thay đổi thành

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    0
  5. Nếu không nhận được thanh toán, hóa đơn sẽ vẫn là

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    3 và đăng ký sẽ trở thành

    { "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

    60

Stripe không thông báo cho khách hàng của bạn về hóa đơn trong quy trình này. Thanh toán trên hóa đơn được tự động thực hiện ngay sau khi hóa đơn được tạo. Nếu email của khách hàng được bật, chúng tôi sẽ gửi biên nhận qua email

Phản hồi của Stripe khi thanh toán không thành công hoặc đăng ký quá hạn được xác định bởi cài đặt đăng ký của bạn. Cài đặt cho thanh toán tự động và thủ công được định cấu hình riêng

Thử lại thông minh

Sự kiện quan trọng nhất có thể xảy ra sau khi tạo đăng ký là lỗi thanh toán. Thất bại xảy ra vì nhiều lý do

  • Khách hàng thiếu phương thức thanh toán
  • Phương thức thanh toán đã hết hạn
  • Khoản thanh toán bị từ chối

Stripe có thể được đặt để thử lại các khoản thanh toán không thành công. Máy học của Stripe được Smart Retries sử dụng để xác định thời điểm tốt nhất để thử lại, trong khoảng thời gian có thể định cấu hình tối đa một tháng sau khi thanh toán ban đầu không thành công

Quy tắc tùy chỉnh cũng có thể được sử dụng để thay đổi lịch thử lại. Bạn có thể thiết lập tối đa ba lần thử lại, mỗi lần có một số ngày khác nhau sau lần thử trước

Nếu khôi phục không thành công, đăng ký của bạn sẽ được chuyển đổi theo tùy chọn của bạn. Các tùy chọn là

Cài đặt Mô tả Hủy đăng ký Đăng ký bị hủy sau số ngày tối đa được chỉ định trong lịch trình thử lại. Đánh dấu đăng ký là chưa thanh toán Sau số ngày tối đa được chỉ định trong lịch thử lại, đăng ký sẽ chuyển sang trạng thái

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

025. Hóa đơn vẫn đang được tạo và đang ở giai đoạn dự thảo. Để yên gói đăng ký Sau số ngày tối đa được chỉ định trong lịch thử lại, gói đăng ký vẫn ở trạng thái

{ "id": "sub_1ELI8bClCIKljWvsvK36TXlC", "object": "subscription", "status": "incomplete", ... "latest_invoice": { "id": "in_EmGqfJMYy3Nt9M", "status": "open", ... "payment_intent": { "status": "requires_payment_method", ... } } }

60. Hóa đơn vẫn được tạo và tính phí cho khách hàng dựa trên cài đặt thử lại

Làm cách nào để thiết lập thanh toán tự động hàng tháng cho khách hàng của tôi?

Bản minh họa cách thiết lập thanh toán định kỳ . Choose the customer you want to automatically bill. Chọn sản phẩm hoặc dịch vụ mà bạn muốn liên tục lập hóa đơn cho chúng. Chọn thẻ tín dụng làm phương thức thanh toán và nhập thông tin thanh toán của khách hàng. Chọn "tạo định kỳ" và đặt tên cho mẫu của bạn.

Tôi làm cách nào để xử lý khoản thanh toán đăng ký?

Khách hàng phải ký vào mẫu ủy quyền một lần cho các khoản thanh toán định kỳ. Cách đơn giản nhất để chấp nhận thanh toán định kỳ là sử dụng bộ xử lý thanh toán tất cả trong một hoặc tài khoản người bán không chỉ xử lý thanh toán mà còn có phần mềm thanh toán và các tính năng bảo mật để bảo vệ thông tin khách hàng của bạn

Làm cách nào để thiết lập thanh toán đăng ký PayPal?

Hướng dẫn từng bước. .
Truy cập tài khoản doanh nghiệp PayPal của bạn
Truy cập trang Quản lý đăng ký. .
Cung cấp chi tiết cụ thể về sản phẩm hoặc dịch vụ mà bạn đang đưa vào đăng ký. .
Chọn loại kế hoạch bạn cung cấp. định giá cố định hoặc định giá theo số lượng. .
Đặt tiêu đề kế hoạch và mô tả

Làm thế nào để bạn tính phí thuê bao?

8 cách tính phí người đăng ký. Công cụ giao dịch .
Thanh toán định kỳ. Thanh toán định kỳ là cốt lõi của thanh toán đăng ký. .
Thanh toán dựa trên việc sử dụng. Rất có thể bạn đã bị tính phí theo cách này. .
phí cố định. .
Thanh toán kế hoạch theo từng bậc. .
Phí bổ sung. .
trước so với. .
Tín dụng và tiền ảo. .
Dùng thử và giảm giá

set subscription payments

Sara James Twitter

Sara James has written about blogger for more than 5 years and for trogiuplamdep since 2017

Bài liên quan

Cách thiết lập thanh toán đăng ký

Cách thiết lập bộ nhớ dùng chung

Làm cách nào để thiết lập người dùng thứ hai?

Cách đặt tiếng vang alexa ở chế độ thiết lập

Làm cách nào để thanh toán trên điện thoại dế của bạn?

Tôi có thể thanh toán cho Capital One Auto Finance không?

Cách đăng nhập vào iphone bị khóa

Có bao nhiêu người dùng YouTube có hơn một triệu người đăng ký?

Làm cách nào để thêm âm thanh vào ảnh trực tuyến miễn phí?

Chân không nào là cần thiết để sấy khô?