# PayPal ボタン PayPal ボタンを使用して顧客の支払いを簡素化する方法をご紹介します。 顧客は、リダイレクトまたは PayPal ボタンを使用して PayPal 決済を行うことができます。リダイレクトとボタンのどちらを表示するかは Stripe によって決定されますが、ボタンの可用性を高めるためのページを設定することは可能です。PayPal ボタンは、[Express Checkout Element](https://docs.stripe.com/elements/express-checkout-element.md) および[Stripe Checkout](https://docs.stripe.com/payments/checkout.md) で使用できます。 このデモでは、Express Checkout Element の PayPal ボタンが表示されます。 開始する前に、[PayPal Sandbox アカウント](https://developer.paypal.com/tools/sandbox/accounts/)を作成して、連携をテストすることをお勧めします。 #### Express Checkout Element PayPal ボタンは、Stripe の Express Checkout Element で使用できます。PayPal と Express Checkout Element を連携する方法については、[Express Checkout Element ガイド](https://docs.stripe.com/elements/express-checkout-element.md)を参照してください。 **推奨オプション** 特定のシナリオにおいて、 Express Checkout Element は PayPal ボタンをサポートしていません。これらのシナリオの例は、以下のとおりです。 - 請求先住所の収集が有効になっている - 配送先住所の収集が有効になっている (継続支払いの場合) - 電話番号の収集が有効になっている PayPal ボタンを表示する可能性を最大限に高めるには、Express Checkout Element を[作成](https://docs.stripe.com/js/elements_object/create_express_checkout_element)する際に次のオプションを使用することをお勧めします。PayPal ボタンを使用する継続支払いの場合は、`billingAddressRequired` を `false` として明示的に定義する必要があります。 #### HTML + JS ```javascript elements.create('expressCheckout', { phoneNumberRequired: false, billingAddressRequired: false, shippingAddressRequired: false, // Only supported for one-off payments }); ``` #### React ```jsx const options = { phoneNumberRequired: false, billingAddressRequired: false, shippingAddressRequired: false, // Only supported for one-off payments }; ``` #### Stripe Checkout Stripe Checkout は、PayPal ボタンを標準でサポートしています。Stripe Checkout の使用方法については、[Stripe Checkout ガイド](https://docs.stripe.com/payments/checkout.md)を参照してください。 特定のシナリオにおいて、Stripe Checkout は PayPal ボタンをサポートしておらず、PayPal へのリダイレクトのみ表示されます。シナリオの例として以下が挙げられます。 - 請求先住所の収集が有効になっている - 同意の収集が有効になっている - カスタムフィールドが使用されている - PayPal のみが支払い方法として利用できる - 電話番号の収集が有効になっている - 継続支払いで配送先住所の収集が有効になっている - 納税者番号の収集が有効になっている 次の例では、PayPal ボタンの可用性を最大限に高めるオプションを用いて Checkout セッションを作成しています。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u "<>:" \ -d "automatic_tax[enabled]=false" \ -d "line_items[0][price_data][unit_amount]=1000" \ -d "line_items[0][price_data][currency]=eur" \ -d "line_items[0][price_data][product_data][name]=Coconut" \ -d "line_items[0][quantity]=1" \ -d mode=payment \ -d billing_address_collection=auto \ -d "payment_method_types[0]=card" \ -d "payment_method_types[1]=paypal" \ --data-urlencode "success_url=https://example.com/success" ```