stripe-payments 튜토리얼
스트라이프 지불 시작하기
수색…
비고
이 섹션에서는 스트라이프 지급의 개요와 개발자가 왜 스트라이프 지급을 사용하려고하는지에 대해 간략하게 설명합니다.
또한 스트라이프 지불 내 큰 주제를 언급하고 관련 주제에 링크해야합니다. 스트라이프 지급에 대한 문서가 새롭기 때문에 관련 주제의 초기 버전을 만들어야 할 수 있습니다.
설치 또는 설정
스트라이프 지불 설정 또는 설치에 대한 자세한 지침.
임베디드 스트라이프 지불 모달
프로덕션 / 샌드 박스 계정을 https://dashboard.stripe.com/register 에서 등록 하십시오.
체크 아웃 버튼을 원하는 웹 페이지에 코드 아래에 삽입하십시오.
<form action="/charge" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh"
data-amount="2000"
data-name="Stripe.com"
data-description="2 widgets"
data-image="/img/documentation/checkout/marketplace.png"
data-locale="auto">
</script>
</form>
Hello World in Python
단일 파일에서 wsgi를 사용하여 스트라이프를 즉시 실행하는 방법의 예.
우선 python stripe API를 설치하십시오. 예 : pip :
pip install --user stripe
상자 밖으로 8000 포트에서 WSGI 웹 서버를 생성하는 payment.py 를 만듭니다.
html = """
<html>
<body>
<p>%(output)s</p>
</body>
</html>
"""
form = """
<form action="" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh"
data-amount="999"
data-name="Stripe.com"
data-description="Hello World"
data-locale="auto">
</script>
</form>
"""
def application(environ, start_response):
try:
request_body_size = int(environ.get('CONTENT_LENGTH', 0))
except (ValueError):
request_body_size = 0
request_body = environ['wsgi.input'].read(request_body_size)
post = parse_qs(request_body)
out = ''
if post:
print post
token = post.get('stripeToken', [''])[0]
token = escape(token)
if token:
import stripe
stripe.api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2"
try:
charge = stripe.Charge.create(
amount="999",
currency="usd",
source=token,
description="Hello World",
)
out = '<pre>charge: %s</pre>' % (charge,)
except Exception as e:
print 'Exception %s' % (str(e),)
else:
out = 'missing in post: token'
else:
out = form
response_body = html % {
'output': out,
}
status = '200 OK'
response_headers = [('content-type', 'text/html;charset=utf-8')]
start_response(status, response_headers)
return [response_body]
from wsgiref.simple_server import make_server
from cgi import parse_qs, escape
httpd = make_server('', 8000, application)
httpd.serve_forever()
참고 사항 :
- 프론트 엔드 양식에 공개 키 가 들어 있습니다.
- 백엔드 요금 부분에는 비밀 키 가 들어 있습니다.
스크립트 실행
python payment.py
브라우저로 이동하여
http://localhost:8000/
지불 버튼을 클릭하고 신용 카드 번호 (4242424242424242)를 입력하면 양식이 토큰과 함께 전기됩니다. 따라서 결제가 처리되고 charge 대상이 다음과 같은 브라우저에 인쇄됩니다.
...
"paid": true,
"description": "Hello World",
"status": "succeeded"
자료 및 추가 읽기 :
- WSGI 게시 : http://wsgi.tutorial.codepoint.net/parsing-the-request-post
- 프론트 엔드 양식 : https://stripe.com/docs/checkout/tutorial
- 백엔드 요금 : https://stripe.com/docs/charges
Stripe의 API 소개
Stripe의 일반적인 결제 흐름은 두 단계로 나눌 수 있습니다.
클라이언트 측 프론트 엔드 (HTML + 자바 스크립트) 코드에서 Stripe의 미리 만들어진 Checkout 양식 또는 Elements 양식 필드를 사용하여 고객의 지불 정보를 수집합니다. 이렇게하면 토큰이 서버로 전송됩니다.
서버 측, 백엔드 코드 (PHP, Python, Ruby 또는 선호하는 서버 측 프로그래밍 언어)에서 요금 청구 요청 에 토큰을 사용하여 카드를 실제로 청구합니다.
이 2 단계 플로우의 요점은 서버가 카드 토큰에서만 작동하며 원시 카드 정보로는 사용되지 않는다는 것입니다. 즉, 카드 번호에 액세스 할 수 없으므로 PCI 준수 의 부담이 크게 줄어 듭니다.
Stripe의 문서 는 매우 광범위하며 많은 예제와 튜토리얼을 포함하고 있습니다.
