2016-10-30 12 views
6

Tôi muốn thực hiện thanh toán trong ứng dụng của mình qua Stripe. Tôi đang đọc tài liệu của họ và nó giữ đề cập rằng tôi sẽ sử dụng máy chủ của riêng tôi để tính phí một ai đó sau khi tôi lấy một mã thông báo từ Stripe. (stripe documentation)Tôi có cần máy chủ của riêng mình để sử dụng API sọc không?

stripe documentation

Tại sao tôi cần một máy chủ để sạc dùng của tôi tại sao tôi không thể chỉ cần gọi các phương pháp sọc API để chỉ tính - những gì tôi làm đặc biệt trên máy chủ của tôi? Có cách nào để tính phí mà không cần tạo máy chủ của riêng tôi không? Căn cứ hỏa lực có đủ không?

Cảm ơn

+0

Firebase đang chạy trên máy chủ, có. Nó chỉ là một chuỗi mã thông báo. Bạn có thể lưu trữ nó bất cứ nơi nào. –

+0

@ cricket_007 vì vậy tất cả các tài liệu có nghĩa là im sẽ lưu trữ mã thông báo? có vẻ như im sẽ tính phí từ máy chủ - không chỉ lưu trữ nó? – Isaac

+0

Có lẽ tôi cũng hiểu nhầm. Tôi không thực sự biết cách thức hoạt động của Stripe. Tuy nhiên, nếu bạn cảm thấy thoải mái với Java, ApacheTomcat, Servlets và JAX-RS là nhiều từ khóa hơn bạn có thể tìm kiếm –

Trả lời

4

Hãy để tôi mở rộng những gì họ đang nói một chút với giải thích của tôi:

Với thư viện di động của chúng tôi, chúng tôi gánh vác trách nhiệm tuân thủ PCI bằng cách loại bỏ sự cần thiết phải gửi dữ liệu thẻ trực tiếp vào máy chủ của bạn. Thay vào đó, thư viện của chúng tôi gửi dữ liệu thẻ trực tiếp đến máy chủ của chúng tôi, nơi chúng tôi có thể chuyển đổi chúng thành mã thông báo.

Điều đó có nghĩa là thường nhận được số thẻ tín dụng và dự kiến ​​sẽ lưu trữ để sử dụng sau này (ví dụ: khách hàng nhập mã vào trang tài khoản của bạn để họ có thể bị tính phí hàng tháng), nhưng điều đó khiến bạn bắt buộc phải tuân thủ các tiêu chuẩn PCI, có thể là một nhức đầu. Stripe giúp bạn giảm gánh nặng này - họ sẽ lưu trữ thẻ tín dụng và nếu bạn muốn tính phí sau này, bạn chỉ có thể cung cấp cho họ mã thông báo mà họ tạo ra đại diện cho thẻ tín dụng đó.

Ứng dụng của bạn sẽ nhận lại mã thông báo và sau đó có thể gửi mã thông báo đến điểm cuối trên máy chủ của bạn để xử lý thanh toán, thiết lập thanh toán định kỳ hoặc chỉ lưu để sử dụng sau này.

này được giải thích một phần hơn nữa, https://stripe.com/docs/mobile/android#using-tokens

Sử dụng thẻ thanh toán, tuy nhiên nó được thu thập, đòi hỏi phải có một cuộc gọi API từ máy chủ của bạn sử dụng khóa API bí mật của bạn. (Đối với mục đích bảo mật, bạn không bao giờ nên nhúng khóa API bí mật của bạn trong ứng dụng của bạn.)

(Điều này đã được đề cập bởi drhr.)

Vì bạn cần chìa khóa bí mật để làm cho API gọi nó sẽ cần được thực hiện từ máy chủ của riêng bạn, vì vậy bạn cần một máy chủ.

Lưu ý: Tôi chưa sử dụng Stripe mà tôi nhớ lại, tôi chỉ đang cố gắng chia sẻ việc đọc tài liệu của mình.

P.S. Tôi nghĩ câu hỏi thứ hai của bạn là riêng biệt, nhưng một số tùy chọn phổ biến và dễ dàng để lưu trữ một ứng dụng web Java là Heroku và AppEngine. Đối với một cái gì đó như thế này tuy nhiên bạn có thể đi với một cách tiếp cận Serverless ví dụ sử dụng AWS Lambda https://aws.amazon.com/lambda (google có tương đương trong giai đoạn Alpha https://cloud.google.com/functions/)

4

Có. Lý do bạn cần một máy chủ chủ yếu là để bảo vệ khóa bí mật của bạn, mà Stripe cung cấp cho bạn. Bạn không muốn nhúng khóa bí mật trong ứng dụng dành cho thiết bị di động của mình, tính năng này cung cấp bên cạnh chế độ bảo vệ bằng không cho nó. Ai đó có thể đơn giản tháo rời ứng dụng của bạn, ngay cả khi nó bị làm phiền, và cố gắng tìm chìa khóa bí mật nằm xung quanh một cách bất lực.

Liên kết:

This Q&A trên trang sọc trả lời nó rõ ràng, nhưng không đi vào chi tiết hơn nhiều.

This blog post giải thích quy trình từ đầu đến cuối, có thể tốt cho bạn đọc ngữ cảnh.

Alternatives:

  1. Webtask stripe script (thấy main webtask page cũng).

  2. Accepton cũng có thể hoạt động.

... mặc dù, tôi khuyên bạn nên thiết lập của riêng bạn để bạn có thể duy trì kiểm soát nhiều nhất có thể. Các định nghĩa và thông tin cụ thể của HTTP và REST nằm ngoài phạm vi của câu hỏi này, nhưng hãy yên tâm rằng số lượng mã để làm việc này là tầm thường (bất chấp việc học/nỗ lực ban đầu của bạn).

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