PayPal a través de Widget
Esta página incluye los pasos necesarios para integrar PayPal utilizando el Widget de DEUNA.
統合手順#
技術要件が設定されたら、統合を開始できます。
1. Configurar el procesador de pagos
- Agregue PayPal Wallet a su DEUNA Adminの接続.
- Busque "PayPal Wallet" y luego ingrese sus credenciales de cuenta de negocio de PayPal.
接続
決済、ウォレット、および不正検知の統合を発見および管理します。
| 接続 | 種類 | ステータス | アクション |
|---|---|---|---|
| Adyen | 決済ゲートウェイ | 接続済み | |
| Worldpay | 決済ゲートウェイ | 接続済み | |
| PayPal | 決済方法 | 接続済み | |
| Mercado Pago | 決済方法 | 接続されていない | |
| Riskified | 不正検知エンジン | 接続されていない |
2. Crear el pedido
Para realizar una compra, primero debe crear un pedido de DEUNA.
以下の手順に従ってください。 注文の作成.
La API devolverá un order_token フロー全体で使用されます。
Campos requeridos:
| フィールド | 説明 | Value |
|---|---|---|
order.store_code | Código único de la tienda | all |
order.payment_method | Tipo de método de pago DEUNA (Para integración de API) | wallet |
order.items_total_amount | Monto total de los artículos sin impuestos ni descuentos. | 2000 |
Consideraciones:
- Acerca de
order.items:total_amount.original_amountdebe serunit_price.amount * quantity.total_amount.amountdebe ser((unit_price.amount + tax_amount.amount) * quantity) - total_amount.total_discount.total_amount.total_discountes el valor total de los descuentos para la cantidad de artículos.
order.items_total_amountes la suma de los precios unitarios de los artículos, este monto se suma aorder.total_tax_amountおよびマイナスorder.discount_amountは、以下の条件を満たす必要があります。order.total_amount.order.sub_totalこれは、商品の単価から割引を差し引いた金額であり、この金額は次のものに加算されます。order.total_tax_amount必須要件order.total_amount.
3. ユーザーの作成(任意)
DEUNAでユーザーを作成し、後で購入を実行するための認証トークンを取得します。このAPIは、ユーザーの token これらが次の手順を実行するために必要となります。
ユーザーを作成するには、以下の手順に従ってください。 Referencia de APIすでに使用されているメールアドレスの場合、APIは以下のメッセージを返します。 user already existsその後、OTPをリクエストし、 OTPを使用してログインし、新しいユーザーを取得して購入手続きを進めます。 OTPを取得 OTPを使用してログイン 新しいユーザーを取得 token 購入手続きを進める。
Widgetによる支払い#
DEUNAのウィジェットは、DEUNAのPayPalウィジェットで2つの決済プロセスをサポートしており、このガイドでドキュメントされています。 各プロセスは、購入を行うユーザーの属性に応じて開始されます。
- Expressプロセス: 可能な限り早く支払いを完了します。
- 一般的なプロセス:複数の支払い方法をサポートします。
Express#
Expressフローは、Widgetが単一の支払い方法体験を検出した場合に開始されます。このフローにより、ユーザーは可能な限り短い時間で支払いを完了できます。
ユーザーがPayPalアカウントの保存に同意すると、支払いは自動的に1回のクリックで完了します。
新規またはゲストユーザー(Vaultingが無効)
ゲストフローは、新しいユーザー、認証されていないユーザー、または商人がVault機能を無効にした場合に定義されます。この場合、チェックアウトの支払いプロセスが開始され、ユーザーはPayPalアカウントを入力して支払うが、保存されない。
ユーザーが新規の場合、そのデータが登録され、将来の購入時に認証し、将来の支払いのためにPayPalアカウントを保存できます。
PayPalアカウントを保存していない認証済みユーザー
ユーザーがログインしているが、PayPalアカウントを保存していない場合、Vaultingによる支払いプロセスが開始され、ユーザーはPayPalのサイトにリダイレクトされ、そこで支払いを行い、アカウントを保存し、将来の購入に使用することを許可します。
PayPalアカウントを保存している認証済みユーザー
ユーザーが認証済みで、PayPalアカウントを保存している場合、支払いは即座に処理されます。なぜなら、ユーザーはすでに同意を提供しているからです。
汎用#
汎用フローは、ウィジェットが複数の支払い方法の体験を検出した場合に有効になります。
ユーザーは、複数のアカウントを追加したり、使用しなくなったアカウントを削除したりするなど、アカウントを管理する権限を持つようになります。
認証済みユーザーは、商人が必要とするか許可するかに関わらず、支払い分割を選択することも可能です。
新規またはゲストユーザー(Vaultingが無効)
ユーザーが認証されていない/新規ユーザーである場合、または商人がVaulting機能を無効にしている場合:
- ユーザーがPayPalボタンをクリック
- チェックアウトの支払いプロセスが開始されます
- ユーザーはPayPalで認証し、支払いを行います。
このプロセスでは、アカウントは保存されません。なぜなら、ユーザーの以前の識別が確認されていないため、データはすでに登録されている(新規ユーザーの場合)ため、将来の購入時に認証し、PayPalアカウントを保存することを許可することができます。
購入例
以下は、DEUNA で PayPal を使用して購入するユーザーの例です。
PayPalアカウントを保存していない認証済みユーザー
ユーザーが認証済みで、保存されたアカウントがない場合:
- Vaultingによる支払いプロセスが開始され、ユーザーはPayPalにリダイレクトされます。
- ユーザーはPayPalのサイトで支払いを行います。
- ユーザーは、アカウントを保存し、または将来の取引に使用することを許可します。
商人が支払い分割を必要とする場合、ユーザーはPayPalで支払いを確認した後、分割を選択する必要があります。
PayPalアカウントを保存した認証済みユーザー
ユーザーがログインしており、PayPalアカウントを保存している場合、ユーザーは任意の口座を選択して支払うことができます。 ユーザーは、口座を削除したり、新しい口座を保存したりすることも可能です。
商人が支払い分割を提供する場合、選択された口座と合わせて分割オプションが表示されます。 ユーザーが新しいPayPalアカウントを使用する場合は、PayPalでの支払いを承認した後で分割オプションを選択する必要があります。
単一の口座表示
これは、DEUNAにおける単一のPayPalアカウントを持つユーザーの例です。
複数の口座表示
これは、DEUNAにおける複数のPayPalアカウントを持つユーザーの例です。
購入例
これは、DEUNAでPayPalを使用して購入するユーザーの例です。
Vaultingによる失敗したPayPal決済
PayPalの注文がVaultingフロー中に拒否された場合、失敗した試行で使用されたアカウントに関連付けられたPayPalトークンを自動的に削除します。
これにより、無効なアカウントでの将来の取引を防ぎます。 その後、ウィジェットはPayPalプロセスを再開し、ユーザーは再認証して有効なPayPalアカウントをリンクし、支払いを完了できます。
Montos de descuento
Los descuentos en PayPal se pueden aplicar a nivel de pedido. En el payload, debe procesar cualquier descuento a través de discount_amount.