Looking for stripe-payments Answers? Try Ask4KnowledgeBase
Looking for stripe-payments Keywords? Try Ask4Keywords

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

1つのファイルからwsgiを使用してストライプを実行する方法の例。

まず、PythonのストライプAPIをインストールしてください。

pip install --user stripe
 

payment.py ボックス8000にWSGI Webサーバを作成する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"
 

リソースと追加情報:

インストールまたはセットアップ

ストライプペイメントの取得の詳細な手順が設定またはインストールされています。

StripeのAPIの紹介

ストライプを使用した一般的な支払いフローは、2つのステップに分けられます。

  1. クライアント側では、フロントエンド(HTML + Javascript)コードで、Stripeの事前に作成されたCheckoutフォームまたはElementsフォームフィールドを使用して顧客の支払い情報を収集します。これにより、トークンがサーバーに送信されます。

  2. サーバーサイドで、バックエンドコード(PHP、Python、Ruby、またはあなたが好むサーバーサイドプログラミング言語)で、実際にカードに請求するために、 請求作成要求でトークンを使用します。

この2ステップフローのポイントは、サーバーがカードトークンでのみ動作し、生カード情報では決して動作しないことです。これは、カード番号にアクセスできないことを意味し、 PCIコンプライアンスの負担を大幅に軽減します

Stripeのドキュメントは非常に広範で、多くの例とチュートリアルが含まれています。