Pay-Doc Pay-Doc
  • Home
  • 利用ガイド
  • APIリファレンス
  • FAQ
  • 更新履歴
  • 旧システムからの移行
  • お問い合わせ
Login
Pay-Doc Pay-Doc
Login
Pay-Doc Pay-Doc
  • Home
  • 利用ガイド
  • APIリファレンス
  • FAQ
  • 更新履歴
  • 旧システムからの移行
  • お問い合わせ

Docy Documentation

利用ガイド

  • Folder icon closed Folder iconはじめに(利用方法)
    • 免責事項
    • 利用方法
    • 初期設定
    • 利用可能な決済手段
    • 管理画面の使い方
    • 決済フォームの種類
    • トークンとは
    • 処理と課金の種類
    • 処理結果の通知と取得
    • 【重要】リカーリング時の注意点
    • 制限機能
    • 用語集
    • 開発後の動作検証
  • Folder icon closed Folder icon実装ガイド
    • ウィジェット – 概要
      • 設置 – (HTML/JavaScript)
      • パラメータ(基本動作)
      • パラメータ(定期課金)
      • パラメータ(分割払い)
    • リンクフォーム – 概要
      • パラメータ(基本動作)
      • パラメータ(定期課金/分割払い)
    • インラインフォーム – 概要
      • 設置 – (HTML)
      • 設置 – (JavaScript)
      • パラメータ
  • Folder icon closed Folder icon決済手段別 実装ガイド
    • 銀行振込 – 概要
      • 銀行振込 – 特徴
      • 銀行振込 – 要注意なパラメータ
      • 銀行振込 – APIへのリクエスト
    • コンビニ決済 – 概要
      • コンビニ決済 – 特徴
      • コンビニ決済 – 要注意なパラメータ
      • コンビニ決済 – APIへのリクエスト
    • オンライン決済 – 概要
      • オンライン決済 – 特徴
      • オンライン決済 – 要注意なパラメータ
      • オンライン決済 – APIへのリクエスト
    • Paidy – 概要
      • Paidy – 特徴
      • Paidy – 要注意なパラメータ
  • Folder icon closed Folder icon各種機能詳細
    • 定期課金
      • リトライ
      • 停止・再開
    • 消費者によるお支払い方法の更新
      • 支払い情報の確認・変更画面
      • 1.消費者の利用フロー
      • 2.加盟店さまの設定
      • 3.消費者へのURLの共有方法
    • CSVデータのダウンロード
    • CSV課金
    • 商品
    • 処理結果のメール通知
      • テンプレートの種類
      • パラメータ
      • 応用的なパラメータの利用方法
    • ウェブフック
  • Folder icon closed Folder icon3-Dセキュア
    • 3‐Dセキュア – 概要
    • 加盟店さまの設定・実装
    • デフォルトの3-Dセキュア実行ルール

はじめに(利用方法)

本サービスを利用開始するためのガイドです。
利用開始前に、必ずご通読ください。

Articles

  • 免責事項
  • 利用方法
  • 初期設定
  • 利用可能な決済手段
  • 管理画面の使い方
  • 決済フォームの種類
  • トークンとは
  • 処理と課金の種類
  • 処理結果の通知と取得
  • 【重要】リカーリング時の注意点
  • 制限機能
  • 用語集
  • 開発後の動作検証

免責事項

本ドキュメントについて

目的

本ドキュメントは、「国際ブランドが付帯したカードの決済」「PayPayオンライン決済」「Paidy決済」「銀行振込決済」「コンビニ決済」「Alipay Online決済」「Alipay + Online決済」「Wechat Online決済」を行うために、univapay.comドメインで展開する決済システム(以降「本サービス」という)の利用について記述したものす。

本ドキュメントは、加盟店さまやシステム連携先さまに、本サービスを利用開始するまでの設計・開発を可能とするためのものです。

本ドキュメントは、予告なく変更されることがあります。

使用言語

本ドキュメントは、日本語を使用して作成しています。
他言語で閲覧したい場合は、ブラウザの翻訳機能を利用してください。

問い合わせは、日本語・英語にて受け付けています。

パラメータの表記ルール

本ドキュメントでは、各プログラミング言語の仕様に準じ、以下の通り表記しています。

設置(記述)方法フィールド名のケースフィールド名の記述例値のケース値の記述例
HTMLkebab-case
(ケバブケース)
すべて小文字、ハイフン区切りで記述
data-foo-bar-baz
※始めにdataが必要
snake_case
(スネークケース)
すべて小文字、アンダースコア区切りで記述
foo_bar
JavaScriptlowerCamelCase
(ローワーキャメルケース)
1語目のみ小文字始まり、2語目以降は頭文字のみ大文字
fooBarBaz〃〃

メタ構文変数

本ドキュメントでは、上記表のように「メタ構文変数」を、foo bar baz qux quux … と表記します。これらを「実際には様々変化し得る部分」と解釈してください。

クレジットカード情報の送信を伴う処理について

消費者のクレジットカード情報を加盟店サイト内に入力(通過か保持)させ、本サービスの APIに送信する場合は、カード情報の「通過」にあたるため、加盟店サイトがPCI DSSに準拠することが必要です。

システムの定期アップデートについて

本サービスは利便性や品質向上のため、隔週月曜日(※)の15時より小規模なシステムアップデートのリリースを行っています。

大幅な変更を伴うリリースはシステム連携先さまや加盟店さまへ事前通知しますが、軽微な更新は通知なく行いますので、ご承知おきください。

※定期リリース日時は改修内容よって、多少前後することがあります

動作確認しているブラウザ

以下以上のバージョンで、本サービスの動作を確認しています。

ブラウザバージョン
Google Chrome80
Microsoft Edge80
Mozilla Firefox72
Apple Safari13.1
Apple Safari(iOS)13.4
Opera67

利用方法

本サービスには、大きく分けて2通りの利用方法があります。
いずれの方法でも初期設定が必要です。

①本サービスと商用サイトとを連携せずに利用する

本サービスの管理画面を用いて、決済金額を加盟店さまにて設定し、作成したフォームのURLを消費者に提供することが可能です。
上記の運用方法の場合は、こちらをご覧ください。

②本サービスと商用サイトとを連携する

本サービスは、プログラムを記述することでオンライン上にある加盟店さまの商用サイトと連携することが可能です。
予め、システム連携先さまによって、簡易な設定のみで利用可能となっている場合もあります。

具体的には、以下のよう「初回決済(トークン化)のリクエスト方法」と「決済結果の取得方法」を設計・開発することを本サービスでは「連携」と定義しています。

初回決済(またはトークン化)のリクエスト方法

  • ウィジェット
  • インラインフォーム
  • リンクフォーム

の3通りのインターフェイスを用意しています。詳しくはリンク先を参照してください。

PCI-DSSに準拠している加盟店さまの場合、APIに対して直接カード情報を送信して決済することも可能です。

決済結果の取得方法

決済の完了後には、ウェブフックやAPIへのリクエストで結果を取得できます。

ただし、ウェブフックによる結果取得はあくまで簡易的なもので、到達を保証するものではありません。エラーの種類によってはリトライを実行します。詳細はこちらをご覧下さい。
何かしらの原因で取得できなかった場合は、APIにリクエストすることで能動的に取得することを推奨します。

初期設定

本サービスを利用するためには、いくつかの設定を管理画面で行う必要があります。
このページでは、利用開始までの大まかな流れを説明します。

1. アプリトークンの作成

アプリトークンとは、どの店舗で決済を行うかの判別のためのキーとして機能します。
全ての決済でアプリトークンは必須です。

管理画面>アプリトークンの「新規作成」を押下し「店舗」のアプリトークンを作成してください。
利用方法によってアプリトークン作成時の行動および次に読むページが異なるため、以下を参照ください。

利用方法アプリトークン作成時の行動次に読むべきページ
システム連携せずに利用
(リンクフォームを利用)
シークレットを控えておく必要はありません。利用ガイド『管理画面の使い方』を参照ください。
このページを以降読む必要はありません。
システム連携して利用
(ウィジェット、インラインフォームを利用)
シークレットを控えておく必要はありません。
利用するWEBサイトのドメインを登録する必要があります。
このページを読み進めてください。
システム連携して利用
(APIでリクエスト)
シークレットを控えておく必要があります。このページを読み進めてください。

2. ウェブフックの作成(任意)

ウェブフックを作成すると、本サービスでの処理結果を、加盟店さまが指定したURLにHTTP POSTリクエストで通知するようになります。
消費者の遷移とは近いタイミングで実行しますが、必ずしも同期するとは限りません。

加盟店さま側のシステム(カートや受注管理のシステム)と連携したい場合は作成してください。

ただし、ウェブフックはあくまでも即時性を担保するための簡易的な仕組みで、到達を保証するものではないため、決済結果の判定をウェブフックのみに依存することは非推奨です。
精度の高い判定を求める場合は、APIへ決済結果取得をリクエストする仕組みを設計、実装してください。

画面遷移のコントロールがしたい場合は、ウィジェットやインラインフォームからのコールバック、リンクフォームからのリダイレクト設定でも可能です。

ウェブフックを受信する仕組みの作成には、SDKを利用できます。

メールや管理画面で処理結果を確認するので十分なら、この設定は必要ありません。

※詳細はこちら

3. 決済フォームと課金方式の種類を選ぶ

アプリトークンとウェブフックを作成した後は、サイト構成やサービス内容に沿った、当社の決済フォームと課金方式を選びます。

①決済フォームの種類を選ぶ

  • ウィジェット(全ての支払い方法が利用可能)
  • インラインフォーム(クレジットカードのみ利用可能)
  • リンクフォーム(全ての支払い方法が利用可能)

    ※各決済フォームの詳細、選び方についてはこちら

②課金方式を選ぶ

  • 都度課金(全ての支払い方法で可能)
  • 定期課金(クレジットカード/Paidy で可能)
  • リカーリング課金(クレジットカード/銀行振込/コンビニ決済/Paidy で可能)

    ※各課金方式の詳細、選び方についてはこちら

4. 各種フォームの設置

実際に消費者が利用するフォームを作成、設置します。
詳細は、各決済フォームのセットアップページをご覧ください。

  • ウィジェットの設置(HTML、Javascript)
  • インラインフォームの設置(HTML、Javascript)
  • リンクフォームの設置

それぞれのセットアップにはSDKが利用できます。

5. 決済フォームを公開する

公開前には、必ずテストモードでフォームが意図した通りに動作しているかを確認してください。(テストモードのアプリトークンを作成することでテスト決済が可能です)
※クレジット決済の場合は管理画面の「テスト課金」にあるカード番号でテストができます。 

行われた決済は管理画面で確認・操作が可能です。

管理画面の使い方はこちらをご覧ください。

利用可能な決済手段

本サービスは、現段階ではオンラインでの決済にのみ対応しています。
各銘柄のロゴを利用したい場合は、ロゴの下にあるボタンをクリックしてダウンロードしてください。

クレジットカード

消費者が決済フォームにカード番号などの必要情報を入力し、決済します。

非対面の取引※に限り、利用可能です。
※磁気テープやICチップのスキャンを行わない

利用できるのは、国際ブランド(VISA / Mastercard / JCB  / American Express / Diners Club / DISCOVER)のマークが券面に記載されたクレジットカードです。

ダウンロード(2つの.pngを含む.zip)

Paidy

購入代金を自由な形で翌月にまとめて支払うことができるサービスです。
決済フォームでメールアドレスと電話番号を入力し、SMS認証を行って決済します。

ブランドガイドライン

ダウンロード(png)

銀行振込

決済ごとに専用の口座が消費者へ発行され、振込確認を自動で行います。
発行する口座は「GMOあおぞらネット銀行」のものです。

コンビニ決済

株式会社電算システムの提供する、前払い式のコンビニ決済です。

決済フォームから消費者情報を入力することで、各種コンビニエンスストアで支払うための情報が発行され、消費者が入金をすることで決済が完了します。

オンラインモバイル

消費者が決済フォームからモバイルペイメントアプリで認証することで、オンラインでの決済を行います。
詳細はこちらを参照ください。

ダウンロード(zip)

管理画面の使い方

管理画面ガイド

本ガイドでは、当社が提供している管理画面の構成や利用方法を説明しています。

下記の画像付き資料をご確認ください。

管理画面ガイド(PDFファイル)

もっとも簡単な利用方法

本サービスで最も簡単なご利用方法は「リンクフォーム決済」です。

決済金額を加盟店にて設定し、作成したフォームのURLを消費者に提供する単純な決済方法です。

下記の画像付き資料をご確認ください。

リンクフォーム決済の設定方法(PDFファイル)

決済フォームの種類

決済フォームとは、決済や申込のために消費者が情報を入力する画面のことです。
本サービスでは3種のフォームを選択可能です。加盟店さまの利用イメージに沿ったフォームを選択してください。

フォームのセキュリティ

本サービスの全てのフォームは、加盟店さまのwebサイトにカード情報が通過することがなく、保存することも処理することもありません。
これにより、カード情報の漏洩リスクを最小限に抑えながら、柔軟な課金方式で商用サイトを運用できます。

決済フォームの選択基準

フォーム種類対応している決済手段設置方法このような方向け
ウィジェット
詳細
全て十数行のごく短い(※)タグプログラミング可能でシステム連携する
多品目を合算して決済する
インラインフォーム
詳細
クレジットのみ40行程度の短い(※)タグかjavascriptのコード〃
リンクフォーム
詳細
全て短縮URLとそのQRコードをメールやメッセンジャーで送信
webサイトには<a>タグで設置
システム連携しない
プログラミング不可
単品販売のみ
※…指定するパラメータのフィールド数次第で増減

消費者の支払いフロー

当社決済フォームを利用した場合の、決済手段ごとの支払いフローは、下記の画像付き資料を参照してください。

消費者の支払いフロー(PDFファイル)

ジェネレータでタグをかんたん出力

プログラミングの難しい加盟店さま向けに、指定されたパラメータでの各種決済フォーム用のタグを出力するジェネレータを管理画面内に用意しています。 ※利用方法はこちら

もちろん、各種パラメータを変数として、動的にタグ出力するプログラムを作成いただくことも問題ありません。
そのためのSDKもこちらに用意しています。

トークンとは

トークンとは、カード情報(カード番号と有効期限)を復号できないよう、ランダムな文字列に暗号化したもののことです。

本サービスの決済フォームでは、消費者が入力したカード情報を自動的にトークンへ置き換える処理を行います。
これを「トークン化」といいます。

トークンには複数の種類があります。
どの種類のトークンを作成するか、トークンを用いてどのような処理を行うかは、加盟店さまが自由に指定できます。
行える処理については、ページ下部「チェックアウトタイプとトークンタイプの見取り図」を参照してください。

トークンの種別

当社サービスで発行できるトークンの種別(token-type)には以下の3つがあります。

one_time(ワンタイムトークン)

ワンタイムトークンは1回だけ課金を作ることができ、有効期間は作成から5分間です。
大量の課金を処理するために、並行して複数のワンタイムトークンを作ることができますが、一定期間内に同一のカードで課金できる回数には制限があります。

subscription(定期課金トークン)

一定のスケジュールで消費者に請求をする必要がある場合、定期課金トークンの利用を推奨します。
このトークンは定期課金を作成することができ、定期課金では課金の間隔、初回金額、定期課金金額、開始日を指定することができます。
このトークンの有効期間は作成から5分間です。定期課金はキャンセルされるまで期限なしで継続されますが、課金回数を指定した定期課金の作成も可能です。

※当システムでは同一カード番号で定期課金トークンを作成できるのは1つまでのため、5分以内に同一カード番号を入力して送信するとエラーが発生します。
定期課金トークンに対して課金されると再度作成が可能になります。

recurring(リカーリングトークン)

一度決済したクレジットカードで、任意のタイミングで再び決済を行いたい場合はリカーリングトークンの作成を推奨します。
トークンが作成されると、その個人情報は UnivaPay のプラットフォーム上に安全に保管されます。

初回の処理で課金を行わずカード情報の登録のみ行う運用の場合は、セキュリティコード認証を行うように実装する必要があります。
上記運用でセキュリティコード認証を行わない場合、作成後5分以内にトークンが使用されないとCVVは自動的に期限切れになり、それ以降の課金は失敗します。
※詳細はこちら

トークン作成時のチェックアウト種別

トークン作成時のチェックアウト(checkout-type)の種類は、以下2通りです。
表内で動作を説明します。

checkout-type説明
tokenカード情報をトークン化するが、その際に課金を伴わない
paymentカード情報をトークン化するが、同時に課金も行う

トークン種別とチェックアウト種別の見取り図

checkout-type=
token
checkout-type=
payment
token-type=
one_time
非推奨
※有効期限が5分だけで存在意義が薄い
都度課金時に推奨
token-type=
subscription
いつでも自動課金を開始できる
「定期課金トークン」を作成
(要保存)

「定期課金」の作成リクエストがあるまで課金しない
指定されたサイクルと金額で、
停止申請があるまで自動で課金される
「定期課金」データを作成
(要保存)

指定次第で初回分も課金

「定期課金トークン」も作成
token-type=
recurring
いつでも課金できる状態の
「リカーリングトークン」を作成
(要保存)
初回の課金を行い、かつ、
いつでも課金できる状態の
「リカーリングトークン」を作成
(要保存)

処理と課金の種類

「処理」の種類

本サービスには、4つの処理があります。
決済フォームのタグやコードを設置したり、書き出す際には以下を参照してください。

課金の種類特徴利用可能な決済手段
オーソリ(仮売上)指定した金額の決済が可能なクレジットカードに対し、与信枠を仮押さえする

この仮押さえは、各カードの発行会社が定める期間中(国内発行は60日間、海外発行は30日間が典型)のみ有効です。

本サービスでは、課金の作成をリクエストする際にcaptureフィールドにfalseの値を指定することで、オーソリ処理が行えます。

一般的な物販では、注文時は消費者によってオーソリの手続きが行われるようにし、発送時に加盟店側でキャプチャするという運用が主流です。
しかし、在庫切れでメーカー取り寄せとなった場合など、発送手続きまでに時間がかかる場合は、一旦のキャンセル処理の実施が推奨されます。
その理由は、消費者の与信枠を長期間圧迫することを避けるためです。
クレジットカード
Paidy
セキュリティコード認証(CVV認証)入力されたクレジットカードが、決済時点で有効かどうかを確認する

カード情報のトークン化を行う際に消費者へセキュリティコード認証を要求し、1円のオーソリを行うことで、カードの有効性チェックをしています。

この処理によって、初回の決済で課金を行わずにカード情報をトークン化し、後日課金を行えます。
クレジットカード
キャプチャ事前に作成したトランザクショントークンに対し、売上確定処理を行う

オーソリ済みの課金データに対してキャプチャを行うと、売上の処理が行われ、仮押さえされていた与信枠が売上確定の状態で消し込まれます。
クレジットカード
Paidy
返金過去にキャプチャした課金データに対し、返金処理を行う

返金を実行すると、既にカード会社からの引き落としが完了した後でも、各カード会社の引き落とし日に相殺される、もしくは振込が行われるといった処理がされます
返金は管理画面からの操作、またはAPIへのリクエスト送信で行います。
全て

「課金」の種類

本サービスには3つの課金種類があります。
決済フォームのタグやコードを設置したり、書き出す際には以下を参照してください。

課金の種類特徴利用可能な決済手段
都度課金一度きりの決済を行う最も基本的な課金方式です。
クレジットカードの場合のみ
・オーソリ(仮売上)
・キャプチャ(売上確定処理)
が指定できます。
全て
定期課金指定したサイクルで定期的に課金します。
停止・再開は管理画面の「定期課金」メニューまたはAPIで可能。
クレジットカード
Paidy
リカーリング課金フォームで入力されたカード情報を
「リカーリングタイプ」のトークンとして保存し、
課金時に送信する必要があります。
任意の周期と金額で課金することができます。
クレジットカード
銀行振込
コンビニ決済
Paidy

処理結果の通知と取得

本サービスとシステム連携して、注文や消費者のデータベースへ、支払い状態を反映する必要がある場合は、ウェブフックを受信してデータベースへの書き込みを行うプログラムを作成・設置してください。

ウェブフックの実行はベストエフォートであるため、対象のサーバや回線の状況によっては受信に失敗することがあります。

したがって、処理結果の判定をウェブフックで行うことは問題ありませんが、本来、処理結果を受信しているべきだが未受信ステータスの注文情報を、加盟店さまのデータベース上で検知した場合には、本サービスのAPIへ能動的に

  • GET(条件を指定し、単数の処理情報取得)
  • LIST(条件を指定し、複数の処理情報取得)

へのリクエストを行い、補完することを推奨します。

コールバックを結果判定に用いる場合

ウィジェットまたはインラインフォームを利用する場合、ウェブフックだけでなく、処理の完了後に行われるJavaScriptのコールバックも結果判定に利用できます。
ただし、

  • 処理中の消費者に回線の不調や断絶が起きた場合
  • 処理中に加盟店さまのサーバや回線の不調やダウンがあった場合

には、受け取れない場合がありますので、ウェブフックと同様にGET/LISTによる補完をしてください。

また、以下についても注意してください。

課金の種類処理結果の通知・取得方法
定期課金subscription本サービス側で自動実行するため、結果の取得方法がウェブフックかGET/LISTリクエストに限定される
リカーリング
recrring
APIへのリクエストで行われるため、結果の取得方法がレスポンス、ウェブフック、GET/LISTリクエストに限定される

【重要】アクワイアラやセンター毎に異なる挙動

一部のアクワイアラ(カード会社)やセンター(カード会社と紐づくオンライン処理用のセンター)では、リクエストが行われた場合、処理がラグをもって段階的に行われることがあります。
特に、海外クレジットカード会社に接続している場合は、一般的に数分ほどのラグをもって処理が行われます。

当システムの仕様

当社からアクワイアラへリクエストを行った後、GETリクエストを定期的に行うことで結果を取得し、ステータスを反映する仕様です。
そのため、capture、refund、cancelのリクエストを行った場合、ステータスが段階的に変化します。
返却されるステータスは、リクエストによって異なります。

リクエスト段階的に返却されるステータス
capturepending、authorized※、successful/ failed / error
refund / cancelpending、 successful/ failed / error

※アクワイアラやセンターのメンテナンスや障害、通信状況などによってauthorizedの状態が続くことがあります。

また、決済フォーム(リンクフォーム / ウィジェット / インラインフォーム)より消費者が課金を行う場合、当社からアクワイアラへ課金リクエストが成功した時点で完了画面へ遷移する仕様です。

海外クレジットカード会社に接続している加盟店さまの実装方法

課金のGETリクエストやコールバックで課金が作成されたことを確認し、authorizedの確認をもって次の処理を実行する等、数分ほどのラグを考慮した実装を推奨します。
サービスや商品の提供は、継続的な課金のGETリクエスト(ポーリング機能の活用等)によってステータスが successful に更新されたことを必ず確認してから行ってください。

【重要】リカーリング時の注意点

トークンタイプにrecurringを指定する場合は、繰り返し課金を目的としたトークンの保存を行うことについて、消費者に対して必ず事前の同意承諾を得るか、加盟店サイト内で十分な告知※を行ってください。

万が一、同意の取得や告知が十分でなかった場合は、消費者から加盟店さまに対して、支払いに対する異議や抗弁の申し立てがされる場合があります。

また、そのような事態が連続した場合は、カード会社から加盟店さまに対して加盟契約解除を言い渡されることがありますが、当社ではその責任を一切負いかねます。予めご了承ください。

「十分な告知」とは

告知内容例

クレジットカード情報はPCI-DSSに準拠したシステムでトークン化され、当社ではトークンを保存します。トークンの利用目的は、消費者の再購入やサービス利用状況に応じて再課金することです。課金は必ず消費者の事前同意を得た状態で行われ、無断で行われることはありません。なお、保存したトークンは本サービスでのみ利用可能なもので、万一漏洩することがあっても他サービスの課金に使われることはありません。

ウィジェットボタンの直下など、消費者が確認しやすい場所にに注意書きを設置してください。
なお、インラインフォームをご利用の場合は、インラインフォームが含まれる前のページか、インラインフォームの付近に、注意書きを設置してください。

制限機能

本サービスにはいくつかの制限があります。

IPアドレス制限(連続失敗回数、IP拒否)

同一のグローバルIPアドレスから決済を連続で失敗した場合、そのIPアドレスに対して12時間の制限をかけます。
1つの加盟店で制限されたIPアドレスは他加盟店でも制限され、制限のかかったIPアドレスから管理画面にアクセスすると、
管理画面>店舗>リンクフォーム設定上にエラーが表示されます。

  • 制限の対象となる決済
    モード:本番モード
    決済手段:すべて
    決済経路:課金フォームからの決済(リカーリング課金含む)
         ※CSV課金は対象外
  • 制限がかかった場合の挙動
    エラーになり履歴に残らない
    エラーコード:「SERVICE_RESTRICTED」
    HTTPレスポンスコード:「429」
    決済完了画面:メッセージ「失敗回数が上限に達したため、一定時間サービスを利用できません。時間をおいて再度お試しください。」と表示

返金制限

1か月間の課金額より返金額が上回る場合は返金不可の制限をかけます。

海外カード拒否

海外で発行されたカードでの決済を拒否します。
決済フォームでカード入力時に「許可されていない国のカードです。」とエラーが表示されます。

管理画面から制限の有無が設定可能です。

短時間での大量のリクエストの制限

短時間で大量のリクエストをした場合に制限をかけます。
詳細はAPI制限のページを確認してください。

用語集

このページでは、本ドキュメントで使用している用語の意味を説明します。
※あくまで本ドキュメント内における用語の意味です。

あ行

用語説明
アクワイアラ加盟店を増やすことを目的としたカード会社のこと。
国際ブランドであるVisaやMasterCardなどからライセンスを取得し、加盟店開拓・審査・管理等を行う。
後払い商品を受け取った後、指定された期日までに代金を支払う決済手段のこと。
アプリトークン課金などのリクエストを行った店舗を判別するためのキーのこと。
全ての決済で必須。
イシュアカード利用者を増やすことを目的としたカード会社のこと。
消費者に対してカードを発行し、引き落とし情報や利用状況の管理・利用明細の発行・請求等を行う。
一時停止 / 永久停止定期課金を停止すること。
停止後に再開可能な一時停止と、再開不可な永久停止の2つ種類がある。
インターフェース異なる機器やシステム、ソフトウェア間で情報のやり取りが行われる際、その間をつなぐ装置や機能のこと。
インラインフォーム決済フォーム(消費者がカード情報を入力するためのインターフェイス)のこと。
インラインフレームに本サービスの決済フォームのリソースを表示するタイプ。
ウィジェット決済フォーム(消費者がカード情報を入力するためのインターフェイス)のこと。
ポップアップウインドウとして表示されるタイプ。
ウェブフック課金などイベントが実行された際、外部サービスにHTTP で通知する仕組みのこと。
オーソリ指定した金額の決済が可能なクレジットカードに対し、与信枠を仮押さえすること。
仮売上と同義。
詳細はこちら

か行

用語説明
回数指定 / 回数無制限定期課金の種類の名称で、課金が行われる全体の回数を指定されたタイプ / 回数を指定せず、停止するまで課金を継続するタイプのこと。
課金商品やサービスの購入(利用)料金を課すること。
加盟店本サービスの利用中の法人 / 個人のこと。
仮売上指定した金額の決済が可能なクレジットカードに対し、与信枠を仮押さえすること。
オーソリと同義。
詳細はこちら
カードブランド独自の決済システムネットワークをクレジットカード発行会社へ貸し出している会社のこと。
国際ブランドの中で Visa、Mastercard、JCB、American Express、Diners Club が主流で「世界5大ブランド」と呼ばれている。
為替レート国の通貨を他国の通貨に交換する場合の取引価格および交換比率のこと。
外国為替相場と同義。
キャプチャオーソリ(仮売上)処理を行った課金情報に対して、売上確定処理(実売上)を行うこと。
キャンセルステータスが「処理待ち」もしくは「オーソライズ済」の課金情報に対して行う、課金を取りやめる処理のこと。
銀行振込指定された銀行口座にお金を振り込む支払方法のこと。
クエリパラメータURLの末尾( ? 以降)に付与されているパラメータのこと。
主に抽出する条件を絞り込むことを目的として追加する。
ゲートウェイ店舗およびオンライン上で取引のカード決済を可能にする技術プラットフォームのこと。
接続先と同義。
決済お金の支払うことで債権・債務を解消すること。
決済手数料 / 手数料率消費者がキャッシュレス決済で支払い時に、加盟店さまに発生する費用と、決済金額に対するその割合のこと。
コールバックウィジェットタグ内のソースコードに関数を定義しておくことで、各イベントが発生した時にその内容を含めた通知を受け取れる仕組みのこと。

さ行

用語説明
システム連携先当システムと加盟店さまのシステムを連携して、加盟店さまのユーザーに対して提供している事業者さまのこと。
消費者加盟店さまの商品やサービスの購入者(利用者)のこと。
商品加盟店さまが販売している商品の名称や金額・課金方式を登録することができる、当システムの機能名。
シークレット機密性の高い情報や特権システムを含むサービスおよびITリソースにアクセスするために使用する情報のこと。
当システムでえは、アプリトークン発行時にシークレットも同時に発行される。
ステータス情報の処理状態のこと。
セキュリティコードクレジットカードの不正利用を防ぐために、カードの裏面に印字されている3桁(または4桁)の数字のこと。
セキュリティコード認証インターネットなどでクレジットカードを利用するときに、セキュリティコードを入力すること。 
接続先店舗およびオンライン上で取引のカード決済を可能にする技術プラットフォームのこと。
ゲートウェイと同義。

た行

用語説明
チェックアウト消費者が購入を完全に確定し、支払いを完了させること。
チャージバックカード利用者が不正利用などの理由により利用代金の支払に同意しないために、クレジットカード会社が加盟店さまに対して、その代金の支払いを取り消しまたは返金を要求すること。
通知メール加盟店さまと消費者に対して、処理結果に応じて各種メールが送信される通知機能のこと。
都度課金一度きりの決済を行う最も基本的な課金方式のこと。
定期課金定期的かつ自動的に課金する、当システムの機能のこと。
定期課金開始日定期課金において、初めて課金額が発生する日のこと。
店舗1つの契約に対して作成された店子(たなこ)のこと。
1加盟店ごとに1店舗存在している。
トランザクションオーソリ,キャプチャ,キャンセル等、取引を行うために必要な「処理」の単位のこと。
トランザクショントークン / トークンカード情報(カード番号と有効期限)を復号できないように置き換えた文字列のこと。
トークン化によって、情報漏えいリスクを軽減できる。

な行

用語説明
入金商品やサービスの購入(利用)料金を、銀行やコンビニ等から指定口座へ振り込むこと。

は行

用語説明
パラメータシステムの挙動に影響を与えるデータ(変数)のこと。
任意のパラメータを指定することで、処理を変化させることができる。
フィールド名項目名のこと。
例)amount:金額
プロバイダクレジットカードをはじめとする決済手段のオンラインサービスを提供する企業のこと。
分割払い商品やサービスの購入(利用)料金を、複数回に分けて支払う方法のこと。
分割可能な回数は、カード会社と消費者の契約によって異なる。
冪等ある操作を何度行っても、同じ結果になるという概念のこと。
当社では、冪等なリクエストを行うことで予期しない理由で1つのリクエストが複数回実行されないようにし、重複決済を防ぐことが可能。
詳細はこちら
返金消費者にお金を返す処理のこと。
ポーリング対象のトランザクションに対してステータスの変化を検出するまで GET リクエストを行い、トランザクションのステータスが変化したタイミングで通知を受け取れる実装方法のこと。
詳細はこちら

ま行

用語説明
メタデータ決済情報やトークン情報に任意で付与できるデータのこと。
主に、本サービスと消費者や消費者による注文データ等を関連付けるために使用される。

や行

用語説明
与信枠カードの利用可能枠のこと。
利用限度額と同義。

ら行

用語説明
リカーリングトークン繰り返し課金に利用するために、消費者のクレジットカード情報をトークン化(復号できない別の文字列に置き換え)したもの。
リカーリング課金リカーリングトークンに対して課金を行うこと。
詳細はこちら
リトライ定期課金の支払い失敗後、再度課金を行うこと。 
詳細はこちら
リボ払い「リボルビング払い」の略で、一定の金額を毎月返済するクレジットカードの支払方法のこと。
リンクフォーム決済フォーム(消費者がカード情報を入力するためのインターフェイス)のこと。
APIに対してHTTP GETメソッドで決済の詳細を送信することで、決済フォームのリソースを生成し、そこ消費者を遷移させるタイプ。

英数字・記号

用語説明
CSV課金CSVファイルをアップロードすることで、既存の顧客に再び課金することができる機能のこと。
詳細はこちら
EMV 3-Dセキュアカード利用者の決済情報などを基に、カード会社が高リスクと判断する取引にのみワンタイムパスワードなどの追加認証を実施するサービスのこと。
ID「identification(アイデンティフィケーション)」の略で、情報を識別・把握するためのユニークな文字列のこと。
ISO-4217各種の通貨を表す国際規格(通貨コード)のこと。
ISO-8601日付と時刻の表記に関する国際規格のこと。
PCI-DSS「Payment Card Industry Data Security Standard」の略で、カード会員情報の保護を目的に定められた、
情報セキュリティの国際統一基準のこと。
QRコード決済 / バーコード決済QRコードやバーコードを読み取って行う決済方法のこと。

開発後の動作検証

開発が完了したら、必ず公開前にデモ環境などで各動作の検証を行ってください。
検証が完了したら、本番モードのアプリトークンの作成・適用後に決済機能を公開してください。

テスト決済用のカード番号

テストモードの決済で利用できるカード番号は、管理画面>テスト課金 から取得できます。
カード番号によって確認できる挙動が異なるため、加盟店さまの目的に沿った番号を利用してください。

カード番号確認できる挙動
4000020000000000決済成功 / 返金成功
4242424242424242決済成功 / 返金失敗
4111111111111111決済失敗

テスト決済用のカード番号のため、本番モードでは利用できません。

また、計算ルールに基づいたカード番号であれば、その他のカード番号も利用可能です。
カード番号を生成できるサイト等を活用すると、簡単に作成できます。
例:https://www.getcreditcardnumbers.com/
※その他のカード番号を利用する場合は、決済成功 / 返金成功の挙動になります。

失敗・エラーの挙動の確認

テストモードの場合、消費者情報として決済時に入力するメールアドレスの「@」の前に +charge-failure-●●●(発生させたいエラーコード)を追加することで、エラーコード毎の挙動を確認できます。
※4、6から始まるエラーコードは利用できません。

例: test+charge-failure-309@univapay.com

エラーコード一覧は『エラーコード – 概要』のページを参照してください。

テストモードの特性

テストモードの決済は30日後に自動的に削除されます。
紐づくトークンや課金、返金などの情報もすべて削除されます。

実装ガイド

本サービスと加盟店さまの商用サイトとを連携するための実装ガイドです。
「はじめに」を通読の上、ご覧ください。

Articles

  • ウィジェット - 概要
  • リンクフォーム - 概要
  • インラインフォーム - 概要

ウィジェット - 概要

ウィジェットは、消費者がカード情報を入力するためのインターフェイスで、ポップアップウインドウとして表示されるタイプのフォームです。

ウィジェットの役割

ウィジェットは、以下の役割を果たします。

支払い方法の選択

消費者に、希望の支払い方法をクリック(またはタップ)で選択させます。

この選択画面で表示される選択肢は、ウィジェットのタグまたはコードの記述内容に依存します。なお、支払い方法を単一に指定した場合、この選択画面は省略されます。

必須情報の入力

選択された「支払い方法」毎に予め設定されている必須情報を、消費者に入力させます。

入力欄はウィジェットのタグまたはコードの記述内容によって、追加することも可能です。
詳しくはこちら

ウィジェットで行われる処理

選択された「支払い方法」毎に、各種処理を行います。

一部、赤字※印の項目は申込完了後、消費者が支払いを行うのを待機します。
誤って「決済完了」とみなさないよう、くれぐれも注意してください。

支払い方法処理認証後の処理
クレジットカードカード会社に対し、要求された処理(オーソリ/キャプチャ)で認証認証済みのカード情報をトークン化して決済処理

以降、以下を<共通処理>と記載:
JavaScriptでコールバック
ウェブフック
APIからの取得が可能に
銀行振込その申込専用の振込口座を発行し、メール送信(疎通は確認しない)本サービスが振込完了の通知を受け取り次第、完了判定※
<共通処理>
PaidyPaidyのフォームに遷移し、メールアドレスや電話番号で認証認証時点で完了判定
<共通処理>
オンラインモバイル各銘柄の挙動詳細はこちら本サービスが通知を受け取り次第、完了判定
<共通処理>
コンビニ決済支払いたいコンビニを選択し「申込」を行い、メール送信(疎通は確認しない)本サービスが支払完了の通知を受け取り次第、完了判定※
<共通処理>
※…加盟店さまが誤って「決済完了」とみなした場合の損害や責任は、当社では一切負いません

ウィジェット内の表示項目

ウィジェット内の表示項目は、設置時のパラメータによって以下を制御可能です。

  • ヘッダーテキスト
  • ヘッダー説明文
  • 支払いボタンのテキスト
  • QRコードの色(オンラインモバイルでのみ有効)
  • QRコード内のロゴ
  • 任意のフィールド(入力欄)追加

詳しくはこちら

ウィジェットのデザイン

管理画面から、ウィジェットのデザインを編集可能です。

店舗>一般>全体設定>ブランディング から、PNGまたはJPGで店舗アイコンを編集できます。
未編集の場合は標準(デフォルト)の画像が表示されます。

店舗>決済フォーム>ウィジェット>テーマ から、タイトル背景とメイン(タイトルバーとボタンに使用)のカラーが編集可能です。

消費者の支払いフロー

ウィジェットを利用した場合の決済手段ごとの支払いフローは、下記の画像付き資料を参照してください。

消費者の支払いフロー(PDFファイル)

設置 - (HTML/JavaScript)

このページは初期設定が完了し、ウィジェットの概要が通読されていることを前提に作成しています。

「ウィジェットの概要」で説明の通り、支払い方法の選択次第で「決済」でなく「申込」がなされる可能性があるため、このページでは、ウィジェットで行われる「決済または申込」を「処理」と表現します。

HTMLで設置する

ウィジェットをHTMLで設置するには、1行の<script>タグと、1つの<form>タグを用います。

<form>タグの中には<span>要素でパラメータ(各種フィールドとその値)を記述します。

アプリトークンは非常に長く規則性のない文字列なので、事前に管理画面でアプリトークンを控えるか、ジェネレータからのコピーを推奨します。

サンプルコード

以下は、「支払う」と表示されたボタンでの、1000円を決済するためのウィジェットの設置例です。

<script src="https://widget.univapay.com/client/checkout.js"></script>
<form action="<任意のURL>">
 <span data-app-id="<アプリトークンID>"
      data-txt="支払う"
      data-checkout="payment"
      data-amount="1000"
      data-currency="jpy"
      data-auto-submit="true"
 ></span>
</form>

処理完了後の動作

処理の完了後、form action= で指定した”<任意のURL>”に対し、以下をsubmitします。

  • トランザクショントークン(data-checkout-type=“token”指定時には univapayTokenId)
  • 決済番号(data-checkout-type=“payment” 指定時には univapayChargeId 、data-token-type=“subscription” 指定時には univapaySubscriptionId)

処理結果によって、消費者の画面遷移をコントロールしたい場合は、これらを取得するプログラムを作成してください。

パラメータ(基本動作)で解説の通り、data-auto-submitを利用することにより、完了ボタンを押してウィジェットを閉じた時、ウィジェットが含まれるフォームを自動でsubmitする設定も可能です。

上記を利用して、spanタグの外側に設置したformタグのaction属性に指定したURLに遷移するようにすることも可能です。

JavaScriptで設置する

Javascriptでウィジェットを設定する際は、<script>タグを利用することで、HTMLファイル内にJacaScriptのコードを埋め込んでウィジェットを設置することもできます。

サンプルコード

以下は、「支払う」と表示されたボタンでの、1000円を決済するためのウィジェットの設置例です。

<script src="https://widget.univapay.com/client/checkout.js"></script>

<form id="payment-form" action="https://docs.univapay.com/docs/guide/implement/widget">
  <button id="univapay-payment-checkout">
   支払う
  </button>
</form>

<script>
  var checkout = UnivapayCheckout.create({
    appId: "<TOKEN>",
    checkout: "payment",
    amount: 100,
    currency: "jpy",
    cvvAuthorize: true,

    onSuccess: function () {
      var form = document.querySelector("#payment-form");
      form.submit();
    }
  });

  var button = document.querySelector("#univapay-payment-checkout");
  button.onclick = function () {
    checkout.open();
  };

</script>

まず、ウィジェットを含むページに次の行をHTMLでの設置と同様に含める必要があります。

<script src="https://widget.univapay.com/client/checkout.js"></script>

HTMLでの設置とは異なり、自動的にページ上にボタンは作成されませんので、<form>タグと<button>タグで送信するための記述をします。
submitイベントが発火に反応して、actionで指定されたURLに遷移します。

<form id="payment-form" action="https://docs.univapay.com/docs/guide/implement/widget">
  <button id="univapay-payment-checkout">
   支払う
  </button>
</form>

<script>
<!--
タグ内にJavaScriptの記述をします
内容は以下で説明
-->
</script>

次に、UnivapayCheckout.createを呼び出す記述をします。
例えば、1000円の支払いを処理するウィジェット・オブジェクトを作成するには、以下を記述する必要があります。

var checkout = UnivapayCheckout.create({
  appId: "<TOKEN>",
  checkout: "payment",
  amount: 1000,
  currency: "jpy",

次に、actionで指定したURLに遷移させるためのsubmitの処理を記述します。
今回はonSuccessを利用し、処理が成功したことでformをsubmitさせるような記述をします。

    onSuccess: function () {
      var form = document.querySelector("#payment-form");
      form.submit();
    }    
  });  

最後に、<button>タグのonclick関数の処理を記述します。UnivapayCheckout.createによって返されたオブジェクトでopen関数を呼び出すことにより、ウィジェットを開きます。

  var button = document.querySelector("#univapay-payment-checkout");
  button.onclick = function () {
    checkout.open();
  };

ウィジェットのデザインを制御するパラメータ

以下パラメータにより、ウィジェットのデザインが変更可能です。
その他、どんな処理をさせるか等の動作詳細は、左メニューから各種パラメータを参照のうえ、実装してください。

各フィールド名について

  • data-で始まる、ケバブケース(kebab-case)で記載のフィールド名はHTML用
  • 2行目にローワーキャメルケース(lowerCamelCase)で記載のフィールド名はJavaScript用
  • いずれかしか記載のないものは、いずれかのみで利用可能
フィールド許容する値備考省略時の値
data-textテキスト(無制限)ウィジェットを展開するためのボタン内テキストPay with UnivaPay
data-size半角英ウィジェットを展開するためのボタンサイズ
指定可能な値:
small,normal,large
data-class半角英数ウィジェットを展開するためのボタンのclass属性に付与する値
webサイト側のstyleを記述を適用可能
data-style半角英数ウィジェットを展開するためのボタンのstyle属性に付与する値
webサイト側のstyleを適用せず、インラインでstyle記述したい場合に利用
data-hover-style半角英数ウィジェットを展開するためのボタンのhover時のstyle(インライン記述)
data-header
header
テキスト(無制限)ウィジェットのヘッダーに表示したいテキスト本サービス名
data-title
title
テキスト(無制限)ウィジェットのサブヘッダーに表示したい店舗名管理画面での設定に依存
data-description
description
テキスト(無制限)ウィジェットのサブヘッダーの、店舗名の下に表示したいテキスト管理画面での設定に依存
data-submit-button-text
submitButtonText
テキスト(無制限)ウィジェットの「支払い」ボタンに、代わりに表示したいテキスト支払う
記述ルールについては免責事項を参照してください

ウェブフック

処理の結果は、JSONデータとして管理画面の「Webhook」セクションで指定されたURLにPOSTされます。

「リファレンス > ウェブフック」を参照して、POSTされたデータを取得して注文状況などを更新するスクリプトを作成してください。

コールバック

ウィジェットタグ内のソースコードに下記の関数を定義しておくことで、各イベントが発生した時にその内容を含めた通知を実行します。
処理結果に応じて元のページの表示内容や、遷移先をコントロールしたい場合は、こちらか、フォームタグからsubmitされる値を利用してください。

イベント内容
Opened (univapay:opened)決済フォームを開くことで発生するイベントです。その他の情報は含みません。
Closed (univapay:closed)決済フォームを閉じることで発生するイベントです。他の情報は含みません。
Success (univapay:success)決済フォームの処理が完了すると発生するイベントです。生成されたリソースのIDと処理の詳細情報が含まれます。
Error (univapay:error)いずれかの段階で処理が失敗することで発生するイベントです。生成されたリソースのIDが含まれます。
Token created (univapay:token-created)トランザクショントークンが作成されたときに発生するイベントで、トークンの詳細情報を含みます。定期課金やリカーリング課金のように作成済のトランザクショントークンを利用して決済をする場合は発生しません。
Charge created (univapay:charge-created)課金が作成されたときに発生するイベントで、課金の詳細情報が含まれています。成功したかどうかに関わらず発生します。
Subscription created (univapay:subscription-created)定期課金が作成されたときに発生するイベントで、定期課金の詳細情報が含まれています。成功したかどうかに関わらず発生します。
Validation error (univapay:validation-error)このイベントには各フィールドにエラーがある場合に発生します。エラーがない場合、または各フィールドがまだ選択されていない場合、オブジェクトにはオブジェクトは空白になります。
3DS Start
(univapay:three-ds-authorization)
3-Dセキュア認証が開始されたことで発生するイベントです。
その他の情報は含みません。
3DS Open
(univapay:three-ds-authorization-modal-opened)
3-Dセキュア認証を実行する際、フォーム上にポップアップが表示されることで発生するイベントです。
その他の情報は含みません。
3DS Success
(univapay:three-ds-authorization-success)
3-Dセキュア認証が成功すると発生するイベントです。
対象のリソースのIDと処理の詳細情報が含まれます。
決済の成功を通知するイベントではありません。
3DS Failed
(univapay:three-ds-authorization-failure)
3-Dセキュア認証が失敗することで発生するイベントです。
対象のリソースのIDと処理の詳細情報が含まれます。

コールバックのサンプル

<script>
    window.addEventListener("univapay:success", (e) => { console.info("Success event", e) }, false);
    window.addEventListener("univapay:token-created", (e) => { console.info("Token event", e) }, false);
    window.addEventListener("univapay:charge-created", (e) => { console.info("Charge event", e) }, false);
    window.addEventListener("univapay:subscription-created", (e) => { console.info("Subscription event", e) }, false);
    window.addEventListener("univapay:validation-error", (e) => { console.error("Validation error event", e) }, false);
</script>

パラメータ(基本動作)

ウィジェットの基本動作を制御するパラメータです。

定期課金、分割払い、デザインについては別途パラメータ解説ページがあり、左メニューから閲覧可能です。(デザイン用パラメータは、「ウィジェットの設置」ページに記載)

フィールド名について

フィールド
赤字は必須
※は条件付き必須
許容する値備考省略時の値
data-app-id
appId
半角英数該当店舗のアプリケーションID
初期設定で作成したもの

インラインフォームで利用可
data-checkout
checkout
半角英処理の内容

指定可能な値(意味):
token(トークンのみ作成し課金しない)
payment(トークンを作成し課金する)
※括弧とその中の文字は値として不要

token,paymentはインラインフォームで利用可
data-payment-methods
paymentMethods
半角英フォームで選択できる支払い方法の詳細
カンマ区切りで複数指定可

指定可能な値(意味):
card(クレジットカード)
konbini(コンビニ決済またはPay-easy)
paidy(ペイディ)
pay_pay_online(PayPayオンライン)
we_chat_online(WeChatPayオンライン)
alipay_online(Alipayオンライン)
alipay_plus_online(Alipay+オンライン)
bank_transfer(銀行振込)
※online指定で末尾に_onlineのつくものを一括指定

各決済手段が利用可能な設定なら、ブランドで更に絞込み可能。
下記パラメータを利用するなら、card, konbiniは指定不要。

クレジット:
visa,mastercard,jcb
american_express,diners_club
unionpay,maestro,discover

コンビニ:
seven_eleven,family_mart,lawson
mini_stop,seico_mart,pay_easy
daily_yamazaki,yamazaki_daily_store
data-amount
amount

※
半角数課金額

回数無制限の定期課金の場合は初回の額
分割払いおよび回数制限付き定期課金の場合は合計額

※…data-checkout=paymentの時必須
  data-checkout=tokenの時指定しても適応されない
日本円以外で実際に流通する補助通貨がある場合、最小の補助通貨の額で指定(例:USD9.00の時はcent基準の900)

インラインフォームで利用可
data-currency
currency
半角英通貨
ISO 4217基準で記述

インラインフォームで利用可
data-token-type
tokenType
半角英作成するトランザクショントークンの種類

指定可能な値(意味):
one_time(一度だけ課金可)
recurring(繰り返し課金可)
subscription(定期課金)

インラインフォームで利用可
one_time
data-product-codes
productCodes
半角英数商品コード
未設定の値でエラー
カンマ区切りで複数指定可
※複数商品の利用方法や注意点はこちら

amount等、商品に含む情報指定時はそちらを優先
※商品に含まれない情報は他パラメータで併用する必要がある(以下例)
・初回0円の定期課金商品利用:data-cvv-authorize
・仮売上:data-capture

インラインフォームで利用可
data-product-code-quantities
productCodeQuantities
半角数商品コードの数
data-product-codesを指定した場合に指定
※管理画面でdata-product-codesを指定した場合は管理画面上で自動で付与される
例:data-product-codes=testcode1
  data-product-code-quantities=2
  この場合、商品コード「testcode1」の商品が2つ

カンマ区切りで商品コードを複数指定している場合、商品コードの数もカンマ区切りで指定
例:data-product-codes=testcode1,testcode2
  data-product-code-quantities=1,1
  この場合、商品コード「testcode1」の商品が1つ、商品コード「testcode2」の商品が1つ

インラインフォームで利用可
data-name
name
半角英数処理の完了時に、formのsubmit時やJavaScriptコールバック時に適用される「トークン」のフィールド名
ウェブフックやAPIからの結果取得時には適用されない

未指定時のフィールド名:
トランザクショントークンのみ作成 univapayTokenId
定期課金作成 univapaySubscriptionId
課金作成 univapayChargeId
左欄参照
data-capture
capture
真偽(true/false)クレジットカードの処理時に「キャプチャ」を行うか
falseを指定すると「オーソリ」を行う

コンビニ決済/銀行振込の処理時には、値を不問でdata-capture-at,captureAtを有効にする

インラインフォームで利用可
true
data-capture-at
captureAt
半角英数
YYYYMMDD
または
YYMMDDThhmmss
クレジットでauth="true"なら、この指定日に自動的にキャプチャ実行(1h後〜7D以内)
コンビニ決済/銀行振込の場合、支払い期限日時

注意:
コンビニ決済で支払いの有効期限を「日時単位」で指定したい場合は、data-payment-methods/paymentMethodsを以下のみに限定
—
family_mart,lawson,mini_stop
daily_yamazaki,yamazaki_daily_store
(セブン・イレブン、セイコーマート、Pay-Easyは時間指定無効のため除外)

クレジット:日付のみ指定で指定日の9:00
コンビニ決済/銀行振込:指定日の24:00
当日で時間未指定はエラー

インラインフォームで利用可
しない
data-expiration-period
expirationPeriod
半角英数フォームでの申込処理から支払い(振込)までの有効期限
ISO8601 duration text で記述
銀行振込/コンビニ決済で有効

指定可能な値(意味):
PxD(x日後)
PxM(xか月後)

インラインフォームで利用可
P30D
data-expiration-time-shift
expirationTimeShift
半角数(記号は:,+)
hh:mm:ss[+09:00]
銀行振込/コンビニ決済で有効な、フォームでの申込処理から支払い(振込)までの有効期限のうち、時間の部分

data-expiration-periodがP1D以上の指定が必要
「セブンイレブン」「セイコーマート/他支払(サークルK/サンクス/ペイジー)」は時刻指定が不可で、指定日の24:00まで受付
末尾に世界標準時間との誤差を入力(日本の場合は[+09:00])

インラインフォームで利用可
data-email
email
半角英数メールアドレス
送信した場合、入力済みの欄を表示

インラインフォームで利用可
※インラインフォームで利用した場合、メールアドレス入力欄はフォーム上で非表示になる
data-address
address
真偽(true/false)配送先住所
trueで入力欄(郵便番号、都道府県、市区町村、丁目・番地、マンション名・部屋番号)を表示

インラインフォームで利用可
false
data-shipping-address-country-code
shippingAddressCountryCode
ISO 3166-2に記載されている国コード配送先住所の国
送信した場合、入力済みの欄を表示
送信しなければ空欄表示

data-address="true"、 address:trueなら動作

インラインフォームで利用可
data-shipping-address-zip
shippingAddressZip
制限なし配送先住所の郵便番号
送信した場合、入力済みの欄を表示
送信しなければ空欄表示

data-address="true"、 address:trueなら動作

インラインフォームで利用可
data-shipping-address-state
shippingAddressState
制限なし配送先住所の都道府県
送信した場合、入力済みの欄を表示
送信しなければ空欄表示

data-address="true"、 address:trueなら動作

インラインフォームで利用可
data-shipping-address-city
shippingAddressCity
制限なし配送先住所の市区町村
送信した場合、入力済みの欄を表示
送信しなければ空欄表示

data-address="true"、 address:trueなら動作

インラインフォームで利用可
data-shipping-address-line1
shippingAddressLine1
制限なし配送先住所の丁目・号・番地
送信した場合、入力済みの欄を表示
送信しなければ空欄表示

data-address="true"、 address:trueなら動作

インラインフォームで利用可
data-shipping-address-line2
shippingAddressLine2
制限なし配送先住所のマンション名・部屋番号
送信した場合、入力済みの欄を表示
送信しなければ空欄表示

data-address="true"、 address:trueなら動作

インラインフォームで利用可
data-require-name
requireName
真偽(true/false)true指定で、氏名の入力欄を表示(入力必須)
Paidy、コンビニ決済、銀行振込では既存のため無効
false
data-require-name-kana
requireNameKana
真偽(true/false)true指定で、氏名の入力欄を表示(入力必須)
Paidyでは既存のため無効
false
data-customer-name
customerName
制限なし入力済みの氏名欄を表示
※data-require-name=true指定必須
data-customer-name-kana
customerNameKana
制限なし入力済みの氏名欄を表示
※data-require-name-kana=true指定必須
data-require-email
requireEmail
真偽(true/false)true指定で、メールアドレスの入力欄を表示(入力必須)
クレジットカード、コンビニ決済では既存のため無効
false
data-require-phone-number
requirePhoneNumber
真偽(true/false)true指定で、電話番号の入力欄を表示(入力必須)
※クレジットで3-Dセキュア認証を利用する場合、デフォルトはtrue

インラインフォームで利用可
false
※
data-phone-number
phoneNumber
半角数(ハイフンなし)電話番号(15桁以下)
送信した場合、入力済みの欄を表示
※3-Dセキュア認証を利用する場合 または 電話番号を必須にしている場合のみ
data-require-billing-address
requireBillingAddress
真偽(true/false)true指定で、配送先住所の入力欄を表示(入力必須)false
data-cvv-authorize
cvvAuthorize
真偽(true/false)true指定で、セキュリティコード認証の実行
クレジット決済のみ有効

カード情報の登録のみ:data-checkout="token"、data-token-type="recurring" を指定
初回0円の定期課金を作成:data-checkout="payment"、data-token-type="subscription"(または"recurring" ) を指定

なおセキュリティコードは本サービスで保存していません

インラインフォームで利用可
false
data-show-cvv
showCvv
真偽(true/false)false指定でセキュリティコード認証欄を非表示化
クレジット決済のみ、かつ審査時にセキュリティコード認証を「必須」と指定されていない場合のみ有効

インラインフォームで利用可
true
data-locale
locale
半角英表示される言語
auto(ブラウザ依存),en-us(米国英語),ja-jp(日本語),zh-tw(台湾繁体字),zh-cn(中国簡体字),en(英国英語),ja(日本語),zh(中国語簡体字),ko(韓国語),th(タイ語),ru(ロシア語)

インラインフォームで利用可
data-univapay-reference-id
univapayReferenceId
半角英数リファレンスID
CSV課金時の検索キー
data-token-type="recurrring"なら有効

インラインフォームで利用可
data-univapay-customer-id
univapayCustomerId
半角英数
(UUID)
UUID形式で定義したカスタマーID
クレジットカード決済でのみ有効

このフィールドを初回の決済時に設定しておくと、リカーリングトークンの作成を消費者に任意選択させるチェックボックスを表示
※1

用途:
次回以降、カスタマーIDをパラメータに持つタグ(コード)でウィジェットを表示した場合、過去に同加盟店で利用したクレジットカード情報を選択して決済することが可能

data-univapay-customer-id指定時のトークンタイプについて
・one_time 指定か省略の場合
 チェック(※1)なしでone_timeトークンを作成
 チェック(※1)ありでrecurringトークンを作成
・recurring 指定の場合
 チェック(※1)必須でrecurringトークンを作成

インラインフォームで利用可
data-auto-submit
autoSubmit
真偽(true/false)true指定で、完了ボタンを押下しフォームを閉じた時にformで指定したURLページに自動で消費者を遷移させるのと同時に、HTTP GETメソッドで以下を送信

トランザクショントークン(data-checkout-type=“token”指定時には univapayTokenId)

決済番号(data-checkout-type=“payment” 指定時には univapayChargeId 、data-token-type=“subscription” 指定時には univapaySubscriptionId)
false
data-auto-close
autoClose
真偽(true/false)true指定で、処理の完了後にウィジェットが自動的に閉じるfalse
data-remove-checkout-button-after-charge
removeCheckoutButtonAfterCharge
真偽(true/false)true指定で、処理の完了後もウィジェットの起動ボタン表示を維持
false指定で消去
true
data-usage-limit
usageLimit
半角英作成したrecurrringタイプのトークンに対する課金の制限期間
期間中に1度だけの課金が許容される
変更不可(新しいトークン作成が必要)

指定可能な値:
daily, weekly, monthly, annually

インラインフォームで利用可
data-show-logo
showLogo
真偽(true/false)ウィジェットに店舗のロゴを表示するかどうか
※幅が5px以下の場合にロゴは非表示
true
data-timeout
timeout
半角数指定した秒数が経過するとウィジェットを閉じてタイムアウトのエラー画面を表示
data-auto-close-on-error
autoCloseOnError
真偽(true/false)data-timeoutを指定した場合
タイムアウトのエラー画面を表示してから約3秒後にその画面を自動で閉じる
data-hide-recurring-checkbox
hideRecurringCheckbox
真偽(true/false)data-token-typeをrecurringに指定した場合のウィジェットに「個人情報の同意」のチェックボックスを表示するかどうか

指定可能な値(意味):
true(非表示にする)
false(表示する)

インラインフォームで利用可
false
data-hide-privacy-link
hidePrivacyLink
真偽(true/false)ウィジェットに表示される「個人情報の取り扱いについて」のリンクを表示するかどうか

指定可能な値(意味):
true(非表示にする)
false(表示する)

インラインフォームで利用可
false
data-custom-field-hoo
customFieldHoo
半角英hoo部分の指定次第で、追加の入力欄を表示

指定可能な値(意味):
labels(入力欄のラベル)
types(select/stringで選択肢/入力欄)
required(true/falseで必須/任意)
options(typeがselectなら必須、;区切りで選択肢)
keys (メタデータのキー)
data-metadata
metadata
半角英消費者やオーダーを個別に識別する場合などに使える「メタデータ」

既存フィールドと重複しないよう注意
フィールド名はケバブケースで記述
例:data-metadata=”foo-bar:"baz" と指定した場合、追加されるメタデータは{“foo-bar”:"baz"}

1つのフィールドに対して複数の値を指定したい場合は「\,」で、複数のフィールドに同じ値を指定したい場合には「,」区切りで記述
data-hoo半角英任意の用途で利用できる、任意のフィールド

既存フィールドと重複しないよう注意

フィールド名はローワーキャメルケースで記述
例:data-hoo-bar=”baz" と指定した場合、追加される任意データは{“hooBar”:"baz"}

※JavaScriptでは利用不可
  • data-で始まる、ケバブケース(kebab-case)で記載のフィールド名はHTML用
  • 2行目にローワーキャメルケース(lowerCamelCase)で記載のフィールド名はJavaScript用
  • いずれかしか記載のないものは、いずれかのみで利用可能

パラメータ(定期課金)

ウィジェットで定期課金登録をする際に、定期課金の挙動を指定するパラメータです。

基本動作、分割払い、デザインについては別途パラメータ解説ページがあり、左メニューから閲覧可能です。(デザイン用パラメータは、「ウィジェットの設置」ページに記載)

フィールド名について

  • data-で始まる、ケバブケース(kebab-case)で記載のフィールド名はHTML用
  • 2行目にローワーキャメルケース(lowerCamelCase)で記載のフィールド名はJavaScript用
  • いずれかしか記載のないものは、いずれかのみで利用可能
フィールド
赤字は必須
※は条件付き必須
許容する値備考省略時の値
data-subscription-period
subscriptionPeriod
※
半角英定期課金の間隔

指定可能な値(意味):
daily(毎日)
weekly(毎週)
biweekly(隔週)
monthly(毎月)
bimonthly(隔月)
quarterly(3ヶ月)
semiannually(6ヶ月)
annually(毎年)
※…基本動作でdata-token-type="subscription"指定なら必須

さらに詳細な指定(意味):
PxD(x日周期)
PxW(x週間周期)
PxM(xヶ月周期)
PxY(x年周期)

インラインフォームで利用可
data-subscription-id
subscriptionId
半角英数継続中の定期課金IDを指定することで、登録されたカード情報を変更
data-checkout="token"の指定が必須、data-app-id以外のパラメータは不要

必須: いいえ
指定可能な値: アプリケーショントークンに紐付いたストアに作成されている定期課金のID

インラインフォームで利用可
data-subscription-plan
subscriptionPlan
半角英「回数指定型」の定期課金を指定する際に必要

指定可能な値(意味):
fixed_cycles(指定した回数に達するまで)
fixed_cycle_amount(指定した金額に達するまで)
fixed_cycle_amount指定で端数が出た場合、最終回は端数のみ課金

インラインフォームで利用可
data-subscription-qty
subscriptionQty
※
半角数data-subscription-plan="fixed_cycles"なら、支払の回数(初回課金を含む)
data-subscription-plan="fixed_cycle_amount"なら、課金ごとの金額
※…data-subscription-planでいずれかの値を指定すると必須

インラインフォームで利用可
data-subscription-initial-amount
subscriptionInitialAmount
半角数定期課金の、初回金額
0指定で初回は「カード登録のみ」実行(セキュリティコード認証の併用必須)

インラインフォームで利用可
基本動作のdata-amountで指定した額
data-subscription-start
subscriptionStart
半角数ハイフン区切り
YYYY-MM-DD
作成された定期課金の2回目の課金を行う日付

インラインフォームで利用可
data-subscription-start-in
subscriptionStartIn
半角英数定期課金の2回目の課金が行われるまでの期間

指定可能な値(意味):
PxD(x日後)
PxW(x週間後)
PxM(xか月後)
PxY(x年後)

インラインフォームで利用可
data-subscription-periodに従う
data-subscription-start-day-of-month
subscriptionStartDayOfMonth
半角英数
(1〜31)
定期課金の2回目の課金を行う日付

data-subscription-start-in/startInとの組み合わせも可能
例:
startDayOfMonth=20&startIn=P2M
翌々月(2か月後)の20日

startIn未設定の場合は、当月の該当日以前であれば当月にも課金され、該当日以降であれば翌月の該当日に課金されます

インラインフォームで利用可
data-subscription-periodに従う
data-subscription-preserve-end-of-month
subscriptionPreserveEndOfMonth
真偽(true/false)trueで、かつ、開始日に月の末日を指定した場合、以降の課金日を末日に固定する

例:
開始日が2018-06-30の場合、次の請求はtrueの場合は2018-07-31
falseの場合は2018-07-30となります。
※periodが月単位時のみ有効

インラインフォームで利用可
false
data-subscription-retry-interval
subscriptionRetryInterval
半角英数定期課金が失敗したときのリトライ間隔
ISO 8601 duration 形式で記述
P1D以上かつ定期課金サイクルより短くないとエラー

指定可能な値(意味):
PxD(x日)
PxW(x週間)
PxM(xか月)

インラインフォームで利用可
定期課金の周期÷リトライ回数の間隔
(余り切捨)
表記ルールについては免責事項を参照してください

パラメータ(分割払い)

ウィジェットで、消費者に分割払いを選択させたい場合に、指定するパラメータです。
基本動作に加え、以下を指定してください。

フィールド名について

  • data-で始まる、ケバブケース(kebab-case)で記載のフィールド名はHTML用
  • 2行目にローワーキャメルケース(lowerCamelCase)で記載のフィールド名はJavaScript用
  • いずれかしか記載のないものは、いずれかのみで利用可能
フィールド
赤字は必須
※は条件付き必須
許容する値備考省略時の値
data-allow-card-installments
allowCardInstallments
真偽(true/false)true指定で、分割払いの回数を選択するドロップダウンメニューを表示
クレジットカードが指定または選択され、
data-checkout="payment"かつ、
data-token-type="subscription"以外を指定し、
契約上分割払いが可能な場合のみ有効

インラインフォームで利用可
false
data-card-installment-options
cardInstallmentOptions
半角数data-allow-card-installments="true"の時、ドロップダウンメニューでの選択肢を制御

選択可能な値(カンマ区切り):
1, 3, 5, 6, 10, 12, 15, 18, 20, 24, revolving

インラインフォームで利用可
全て
表記ルールについては免責事項を参照してください

リンクフォーム - 概要

このページは「初期設定」が完了していることを前提に作成しています。

リンクフォームは、APIに対してHTTP GETメソッドで決済の詳細を送信することで、決済フォームのリソースを生成し、そこ消費者を遷移させ、決済後にリダイレクトすることができます。

加盟店さまの多くは、管理画面から店舗内にリンクフォームの設定をし、短縮URLをメール送信するか、サイト内に<a>タグとして設置する運用をすると想定しています。

そのため、原則的に不要と認識していますが、ここでは、APIの挙動を解説します。

プログラムの記述ができる方にとっては、リンクフォームを選択して動的にタグを書き出すことは、タグが長くなるだけで何のメリットもありません。
また、iframeタグを使用してウェブページへリンクフォームを埋め込む実装はできません。
そのため、動的にタグ出力をするのであれば、メリットの多いウィジェットを採用することを強く推奨します。

リンクフォームは、技術や予算の都合上、動的なタグ出力を行えない方を対象する機能とご認識ください。

リンクフォームの役割

リンクフォームは、以下の役割を果たします。

支払い方法の選択

消費者に、希望の支払い方法をクリック(またはタップ)で選択させます。

この選択画面で表示される選択肢は、リンクフォームのタグの記述内容に依存します。なお、支払い方法を単一に指定した場合、この選択画面は省略されます。

必須情報の入力

選択された「支払い方法」毎に予め設定されいる必須情報を、消費者に入力させます。

入力欄はタグの記述内容によって、追加することも可能です。
詳しくはこちら

APIのURL

https://checkout.univapay.com/forms/<各店舗のフォームID>

各店舗のフォームIDは、管理画面の店舗>店舗名をクリック>決済フォームタブ>リンクフォーム設定>URLコード
から確認してください。
forms/から?appIDの間に記載されています。

 例)https://checkout.univapay.com/forms/0a000ebb-caa0-00bf-ad0e-0de0e000fbe0?appId=xxx…

各種パラメータを?hoo=111&bar=222&baz=333…のように続けて記述したものを表示し、消費者の遷移を促してください。

タグのジェネレータ

管理画面の店舗>店舗名をクリック>決済フォームタブ>リンクフォーム設定>URLコード
で、各種設定を反映した、タグの生成が可能です。

管理画面から行える設定

管理画面の店舗>店舗名をクリック>決済フォームタブ>リンクフォーム設定>設定
で、リンクフォームの各種設定が可能です。

以下は、事前に管理画面から動作を設定できる内容です。

決済方法(ON/OFF)

以下は、タグで値を指定すれば、そちらを優先し、元の設定を無視します。

  • クレジットカード
  • コンビニ
  • 銀行振込
  • 他、オンラインモバイルの各銘柄

お客様情報(ON/OFF)

以下は、タグ設置時にの指定に関わらず、設定が優先されます。

  • 名前を必須にする
  • カナを必須にする
  • メールアドレスを必須にする
  • 電話番号を必須にする
  • 住所を必須にする

言語(ドロップダウンメニュー)

言語は、タグで値を指定すれば、そちらを優先し、元の設定を無視します。

カスタムの入力欄

カスタムの入力欄は、タグで何かしらの値を指定すれば、そちらを優先し、元の設定を無視します。

リダイレクトURL

リダイレクトURLは、タグで何かしらの値を指定すれば、そちらを優先し、元の設定を無視します。
以下の処理ステータス毎に、別のURLを指定できます。

  • 成功
  • 処理待ち
  • 失敗

テーマ

テーマの設定は、タグでの指定で変更することはできません。全てのフォームで統一されます。

  • タイトル(ON/OFF)
    • 店舗名の表示
    • ロゴの表示
  • テーマ(ラジオボタン)
    • ライト
    • ダーク
  • カスタマイズ(カラーコード)
    • ヘッダー
    • ボタン
    • 背景
    • 内容の背景(カラム内側の色)

完了後の処理

処理の完了後は、パラメータによる指定通りに、消費者をリダイレクトします。

ウィジェットのようにリダイレクト時に結果をHTTP GETやSubmitで送信したり、JavaScriptのコールバックはできません。

一方で成功時と失敗時、それぞれのリダイレクト先は指定でき、追加したメタデータをHTTP GETメソッドで送信(消費者の遷移と同時に)できます。

したがって、処理後の画面遷移を制御することは可能ではありますが、送信先のURLは消費者からも可視であるため、処理結果の判定や、サービスを受ける権利の付与は行わない事を推奨します。
また、誤ってサービスを履行したり、物品を発送した場合でも、当社では一切の責任を負いかねます。

結果判定には、消費者から不可視の「GETによる取得」か、「ウェブフック」を用いることを推奨します。

消費者の支払いフロー

リンクフォームを利用した場合の決済手段ごとの支払いフローは、下記の画像付き資料を参照してください。

消費者の支払いフロー(PDFファイル)

パラメータ(基本動作)

フィールド
赤字は必須
※は条件付き必須
許容する値備考省略時の値
appId半角英数該当店舗のアプリケーションID
初期設定で作成したもの
checkout
※
半角英処理の内容

指定可能な値(意味):
token(トークンのみ作成し課金しない)
payment(トークンを作成し課金する)
qr(トークンのみ作成しQR表示)
※…productCodes送信時に必須
payment
paymentMethods
半角英フォームで選択できる支払い方法

カンマ区切りで複数指定可
単数のみ指定の場合はフィールド名末尾に[]の追加が必須

指定可能な値(意味):
card(クレジットカード)
konbini(コンビニ決済またはPay-easy)
paidy(Paidy)
bank_transfer(銀行振込)
pay_pay_online(PayPayオンライン)
we_chat_online(WeChatPayオンライン)
alipay_online(Alipayオンライン)
alipay_plus_online(Alipay+オンライン)
d_barai_online(d払いオンライン)
online(オンラインモバイル全て)

各決済手段が利用可能な設定なら、ブランドで更に絞込み可能。
下記パラメータを利用するなら、card, konbiniは指定不要。

クレジット:
visa,mastercard,jcb
american_express,diners_club
unionpay,maestro,discover

コンビニ:
seven_eleven,family_mart,lawson
mini_stop,seico_mart,pay_easy
daily_yamazaki,yamazaki_daily_store
amount
※
半角数課金額

課金額
回数無制限の定期課金の場合は初回の額
分割払いおよび回数制限付き定期課金の場合は合計額

※…tokenOnly=trueなら省略可
日本円以外で実際に流通する補助通貨がある場合、最小の補助通貨の額を指定(USD9.00の時はcent基準の900)
currency半角英通貨

ISO 4217基準で記述
jpy
type半角英作成するトランザクショントークンの種類

指定可能な値(意味):
one_time(一度だけ課金可)
recurring(繰り返し課金可)
subscription(定期課金)
one_time
tokenOnly真偽(true/false)トークン化のみで課金しない
trueならamountを無視
false
productCodes
半角英数管理画面で事前に設定した商品コード
未設定の値でエラー
カンマ区切りで複数指定可
※複数商品の利用方法や注意点はこちら

amount等、商品に含む情報指定時はそちらを優先
※商品に含まれない情報は他パラメータで併用する必要がある
・初回0円の定期課金商品利用:data-cvv-authorize
・仮売上:data-capture
productQuantities半角数商品の数
productCodesを指定した場合に指定
※管理画面でproductCodesを指定すると自動でURLに付与される

カンマ区切りで商品コードを複数指定している場合、商品の数もカンマ区切りで指定
例:)productQuantities=1,2
auth真偽(true/false)オーソリ
クレジット決済でのみ有効

与信枠の確保のみ行うなら利用
(別途、売上処理かキャンセル処理が必要)
false
captureAt半角英数
YYYY-MM-DDThh:mm:ss.ssssZ
クレジットでauth="true"なら、この指定日に自動的にキャプチャ実行(1h後〜7D以内)
expirationPeriod半角英数フォームでの申込処理から支払い(振込)までの有効期限
銀行振込/コンビニ決済で有効

指定可能な値(意味):
PxD(x日後)
PxM(xヶ月後)
P30D
expirationTimeShift半角数(記号は:,+)hh:mm:ss+09:00
URLエンコードも可
銀行振込/コンビニ決済で有効な、フォームでの申込処理から支払い(振込)までの有効期限のうち、時間の部分

data-expiration-periodがP1D以上の指定が必要
「セブンイレブン」「セイコーマート/他支払(サークルK/サンクス/ペイジー)」は時刻指定が不可で、指定日の24:00まで受付
末尾に世界標準時間との誤差を入力(日本の場合は+09:00)
nameテキスト(制限なし)名前
送信した場合、入力済みの欄を表示
※リンクフォーム設定で名前を必須にしている場合のみ
nameKanaテキスト(制限なし)名前のカナ
送信した場合、入力済みの欄を表示
※リンクフォーム設定でカナを必須にしている場合のみ
cardholder半角英カード名義
送信した場合、入力済みの欄を表示
emailAddress ※半角英数(メールアドレスとして有効な記号を含む)メールアドレス
送信した場合、入力済みの欄を表示
※…hidePrefilledEmail=trueなら必須
hidePrefilledEmail真偽(true/false)フォームの「メールアドレス」欄を非表示false
phoneNumber半角数(ハイフンなし)電話番号(15桁以下)
送信した場合、入力済みの欄を表示
※3-Dセキュア認証を利用する場合 または リンクフォーム設定で電話番号を必須にしている場合のみ
phoneNumberCountryCode半角数電話番号の国コード
送信した場合、入力済みの国コードを表示
※3-Dセキュア認証を利用する場合 または リンクフォーム設定で電話番号を必須にしている場合のみ
requirePhoneNumber半真偽(true/false)true指定で電話番号の入力欄を表示(入力必須)

※クレジットで3-Dセキュア認証を利用する場合、デフォルトはtrue
false
※
cvvAuthorize真偽(true/false)true指定で、セキュリティコード認証の実行
クレジット決済のみ有効
なおセキュリティコードは本サービスで保存しておらず、APIやCSVへのrecurringリクエスト時には認証を行いません
false
hideCvv真偽(true/false)true指定でセキュリティコード認証欄を非表示化クレジット決済のみ、かつ審査時にセキュリティコード認証を「必須」と指定されていない場合のみ有効false
hideRecurringCheckbox真偽(true/false)typeをrecurringに指定した場合のリンクフォームに「個人情報の同意」のチェックボックスを表示するかどうか

指定可能な値(意味):
true(非表示にする)
false(表示する)
false
hidePrivacyLink真偽(true/false)リンクフォームに表示される「個人情報の取り扱いについて」のリンクを表示するかどうか

指定可能な値(意味):
true(非表示にする)
false(表示する)
false
univapayCustomerId半角英数(UUID)UUID形式で定義したカスタマーID
クレジットカード決済でのみ有効

このフィールドを初回の決済時に設定しておくと、リカーリングトークンの作成を消費者に任意選択させるチェックボックスを表示
※1

用途:
次回以降、カスタマーIDをパラメータに持つタグ(コード)でリンクフォームを表示した場合、過去に同加盟店で利用したクレジットカード情報を選択して決済することが可能

univapayCustomerId指定時のトークンタイプについて
・one_time 指定か省略の場合
 チェック(※1)なしでone_timeトークンを作成
 チェック(※1)ありでrecurringトークンを作成
・recurring 指定の場合
 チェック(※1)必須でrecurringトークンを作成

※リンクフォーム作成時の注意点
リンクフォーム作成時にカスタマーIDを指定するにはメタデータのキーをunivapay-customer-idと指定する必要あり
successRedirectUrl半角英数(URLとして有効な記号を含む)決済成功時のリダイレクトURL
failureRedirectUrl半角英数(URLとして有効な記号を含む)決済失敗時のリダイレクトURL
pendingRedirectUrl半角英数(URLとして有効な記号を含む)決済処理待ちでタイムアウトした場合のリダイレクトURL
autoRedirect真偽(true/false)true指定で決済完了時に自動リダイレクトfalse
showRedirectMetadata真偽(true/false)true指定で、付与されたメタデータをリダイレクト先のURL末尾に付加します。false
customFieldKeys[] ※テキスト(制限なし)決済情報のメタデータの「キー」欄に記録
複数指定可能(カンマ区切り)
※customField関連のフィールド指定時必須
customFieldLabels[] ※テキスト(制限なし)フォームにカスタム入力欄を挿入
入力欄のラベルはこの値が出力される
※customField関連のフィールド指定時必須
customFieldTypes[] ※半角英カスタム入力欄のタイプ

指定可能な値(和訳):
select(選択)
string(テキスト入力)
※括弧とその中の文字は値として不要
※customField関連のフィールド指定時必須
customFieldRequired[] ※真偽(true/false)カスタム入力欄を必須化
※customField関連のフィールド指定時必須
customFieldOptions[] ※テキスト(制限なし)カスタム入力欄が選択肢の場合の選択肢
複数指定可能(カンマ区切り)
※customFieldTypes[]=select指定時必須

フィールド名はローワーキャメルケースで記載する必要があります。
HTTP GETメソッドであるため、値を"(ダブルクォーテーション)で囲む必要はありません。

パラメータ(定期課金/分割払い)

基本動作については別途パラメータ解説ページがあり、左メニューから閲覧可能です。

フィールド名はローワーキャメルケースで記載する必要があります。
HTTP GETメソッドであるため、値を"(ダブルクォーテーション)で囲む必要はありません。

定期課金

リンクフォームで定期課金登録をする際に、定期課金の挙動を指定するパラメータです。

フィールド
赤字は必須
※は条件付き必須
許容する値備考省略時の値
period
※
半角英数期課金の間隔

指定可能な値(意味):
daily(毎日)
weekly(毎週)
monthly(毎月)
bimonthly(隔月)
quarterly(3ヶ月)
semiannually(6ヶ月)
annually(毎年)
※…基本動作でtype=subscription指定なら必須

さらに詳細な指定(意味):
PxD(x日周期)
PxW(x週間周期)
PxM(xヶ月周期)
PxY(x年周期)
subscriptionId
半角英数継続中の定期課金IDを指定することで、登録されたカード情報を変更
data-checkout="token"の指定が必須、data-app-id以外のパラメータは不要

指定可能な値: アプリケーショントークンに紐付いたストアに作成されている定期課金のID
initialAmount半角数定期課金の初回金額
startIn半角英数定期課金の2回目の課金が行われるまでの期間

指定可能な値(意味):
PxD(x日後)
PxW(x週間後)
PxM(xヶ月後)
PxY(x年後)
periodに従う
startDayOfMonth半角英数
(1〜31)
定期課金の2回目の課金が行われる日付

startInとの組み合わせも可能
例:
startDayOfMonth=20&startIn=P2M
翌月の20日

startIn未設定の場合は、
当月の該当日以前であれば当月にも課金され、
該当日以降であれば翌月の該当日に課金されます
periodに従う
subscriptionRetryInterval半角英数定期課金が失敗したときのリトライ間隔
P1D以上かつ定期課金サイクルより短くないとエラー

指定可能な値(意味):
PxD(x日)
PxW(x週間)
PxM(xか月)
定期課金の周期÷リトライ回数の間隔
(余り切捨)
terminationMode半角英定期課金の停止リクエストを受理したとき、実際に自動課金のステータスをsupended(一時停止)に変更するタイミング

メールやwebhookの通知も同期するため、定期課金の停止申請後も次回課金日まで会員権利を維持したい場合に利用

指定可能な値(意味):
immediate(即時)
on_next_payment(次回課金日)
immediate
表記ルールについては免責事項を参照してください

分割払い

リンクフォームで消費者に分割払いを選択させたい場合に、指定するパラメータです。

フィールド許容する値備考省略時の値
allowCardInstallments真偽(true/false)true指定で、分割払いの回数を選択するドロップダウンメニューを表示
クレジットカードが指定または選択され、
checkout=paymentかつ、
type=subscription以外を指定し、
契約上分割払いが可能な場合のみ有効
false
cardInstallmentOptions半角数allowCardInstallments=true の時、ドロップダウンメニューでの選択肢を制御

選択可能な値(カンマ区切り):
1, 3, 5, 6, 10, 12, 15, 18, 20, 24, revolving
全て
表記ルールについては免責事項を参照してください

インラインフォーム - 概要

このページは初期設定が完了していることを前提に作成しています。

インラインフォームは、インラインフレームに本サービスの決済フォームのリソースを表示し、消費者に直接カード情報を入力させて処理することを目的としたものです。

インラインフォームはクレジットカード決済のみを行うことができ、他の決済は利用できません。

インラインフォームの役割

インラインフォームは、以下の役割を果たします。

必須情報の入力

クレジットカード決済の際の必須情報を、消費者に入力させます。

入力欄はインラインフォームのタグ記述内容によって、追加することも可能です。
詳しくはこちら

インラインフォームで行われる処理

支払い方法処理認証後の処理
クレジットカードカード会社に対し、要求された処理(オーソリ/キャプチャ)で認証認証済みのカード情報をトークン化して決済処理

完了後の処理:
<form>のsubmit
ウェブフック
APIからの取得が可能に

インラインフォームのデザイン

インラインフォームのデザインは、パラメータによって指定可能です。
設置先のサイトに、ある程度違和感なく溶け込むデザインを施すことができます。

詳しくはこちら

設置 – (HTML)

インラインフォーム設置用のタグ

インラインフォームのタグは、3部で構成されます。

1.本サービスの.jsファイルを読み込むための<script>タグ

<script src="https://widget.univapay.com/client/checkout.js"></script>

2.処理の内容を定義する<form>タグ

<form>タグ内の、空の<span>要素内の各属性で、処理の内容を定義します。

<form id="payment-form" action="<任意のURL>">
    <div id="checkout">
        <span
            data-app-id="{アプリトークンID}"
            data-checkout="payment"
            data-amount="1000"
            data-currency="jpy"
            data-inline="true"
        ></span>
    </div>

    <button id="pay-button" type="submit">Pay</button>
</form>

3.インラインフレーム内から処理後のデータを引き出すJavaScript

ここでは、インラインフレーム内からunivapayTokenIdを取り出して、<form>タグのaction属性の値として定義した「任意のURL」へsubmitする動作を記述しています。

この動作は、不要であれば省略できます。

<script>
    (function () {
        var form = document.getElementById("payment-form");
        var paymentButton = document.getElementById("pay-button");

        function getPaymentInfo() {
            event.preventDefault();

            var iFrame = document.querySelector("#checkout iframe");
            UnivapayCheckout.submit(iFrame)
                .then((data) => {
                    console.log(data);
                    // The `univapayTokenId` hidden input
                    // has been added with the token id
                    form.submit();
                })
                .catch((errors) => {
                    console.error(errors);
                    paymentButton.disabled = false;
                });
        }

        form.addEventListener("submit", getPaymentInfo);
    })();
</script>

インラインフォームのデザインを制御するパラメータ

全て、インラインでのstyle記述と同じルールで記述してください。
備考欄に記載の要素に、インラインでstyleの値が記述されます。

フィールド許容する値備考省略時の値
data-inline-item-style
半角英数
+記号
ラベル、入力欄、エラーメッセージのセットが格納された
<div class="form-group form-group-sm">
と、それに内包される
<div class="checkbox">
に適用したいstyle
当社規定のCSS適用
data-inline-text-item-style〃<div class="form-group form-group-sm">
に適用したいstyle
ただし、内包される<div class="checkbox">には適用しない
(個別の指定が必要な場合)
〃
data-inline-toggle-item-style〃<div class="checkbox">にのみ適用したいstyle
(個別の指定が必要な場合)
〃
data-inline-item-label-style〃各入力欄のラベル
<label class="control-label">
にのみ適用したいstyle
〃
data-inline-text-item-label-style〃テキスト入力フィールドに入力された文字のラベル
<label class="control-label">
にのみ適用したいstyle
〃
data-inline-field-style〃テキスト入力フィールドに入力された文字と、チェックボックスのラベル
<span class="input-group">
に適用したいstyle
〃
data-inline-text-field-style〃テキスト入力フィールドに入力された文字
<span class="input-group">
に適用したいstyle
ただし、内包される<div class="checkbox">には適用しない
(個別の指定が必要な場合)
〃
data-inline-item-error-style〃エラーメッセージ
<div class="field-error">
に適用したいstyle
〃
data-inline-text-error-style〃エラーメッセージ
<div class="field-error">
に適用したいstyle
ただし、内包される<div class="checkbox">には適用しない
(個別の指定が必要な場合)
〃
data-inline-field-invalid-style〃テキスト入力フィールドに入力された文字が、無効と判定された場合
<input class="form-control input-sm">
に適用したいstyle
〃
data-inline-text-field-invalid-style〃テキスト入力フィールドに入力された文字が、無効と判定された場合
<input class="form-control input-sm">
に適用したいstyle
ただし、内包される<div class="checkbox">には適用しない
(個別の指定が必要な場合)
〃
data-inline-text-toggle-invalid-style〃<div class="checkbox">が無効のまま送信されようとした時に適用したいstyle
(個別の指定が必要な場合)
〃
data-inline-field-focus-style〃テキスト入力フィールドがフォーカスされた時に
<span class="input-group-focus">
に適用したいstyle
〃
data-inline-text-field-focus-style〃テキスト入力フィールドがフォーカスされた時に
<span class="input-group-focus">
に適用したいstyle
ただし、内包される<div class="checkbox">には適用しない
(個別の指定が必要な場合)
〃
data-inline-toggle-field-focus-style〃<div class="checkbox">がフォーカスされた時に適用したいstyle
(個別の指定が必要な場合)
〃
記述ルールについては免責事項を参照してください

設置 – (JavaScript)

インラインフォーム設置用のタグ

以下は、「支払う」と表示されたボタンでの、1000円を決済するためのインラインフォームの設置例です。

<script src="https://widget.univapay.com/client/checkout.js"></script>
<style>
  #univapay-payment-checkout {
    position: absolute;
    top: 360px;
  }
</style>

<form id="payment-form" onSubmit="handleSubmit()">
  <button id="univapay-payment-checkout">
   支払う
  </button>
</form>

<script>
  var checkout = UnivapayCheckout.create({
    appId: "<アプリトークンID>",
    checkout: "payment",
    amount: 1000,
    currency: "jpy",
    cvvAuthorize: true,
    inline: true,
  });
  window.onload = function () {
    checkout.open();
  }
  function handleSubmit() {
    event.preventDefault();
    var form = document.getElementById("payment-form");
    var iFrame = document.querySelector("iframe");
    UnivapayCheckout.submit(iFrame)
      .then(function (data) {
        form.submit();
        }).catch(function (errors) {
          console.error(errors);
      });
  };
</script>

まず、インラインフォームを含むページに次の行をHTMLでの設置と同様に含める必要があります

<script src="https://widget.univapay.com/client/checkout.js"></script>

支払うボタンについてのCSS styleの記述です。説明の都合上styleタグに記述しています。

<style>
  #univapay-payment-checkout {
    position: absolute;
    top: 360px;
  }
</style>

HTMLでの設置とは異なり、自動的にページ上にボタンは作成されませんので、タグとタグで送信するための記述をします。
submitイベントが発火に反応して、onSubmitに指定された関数”handleSubmit()”を呼び出します。

<form id="payment-form" onSubmit="handleSubmit()">
  <button id="univapay-payment-checkout">
   支払う
  </button>
</form>

<script>
<!--
タグ内にJavaScriptの記述をします
内容は以下で説明
-->
</script>

次に、UnivapayCheckout.createを呼び出す記述をします。
例えば、1000円の支払いを処理するインラインフォーム・オブジェクトを作成するには、以下を記述する必要があります。

  var checkout = UnivapayCheckout.create({
    appId: "<アプリトークンID>",
    checkout: "payment",
    amount: 100,
    currency: "jpy",
    cvvAuthorize: true,
    inline: true,
    inlineItemLabelstyle:,
  });

本サンプルではページの読み込みをした時にインラインフォームを表示させるため、onload関数の記述をしています。
event.preventDefault();で、form.submit();の動作させるタイミングを制御するために、一度formのデフォルト処理を防ぐ記述をします。
最後にUnivapayCheckout.submitを呼び出す記述をします。ボタンをクリックした時実際に支払いを行う処理を記述し、送信時エラーが発生した場合はその内容を返します。

  window.onload = function () {
    checkout.open();
  }
  function handleSubmit() {
    event.preventDefault();
    var form = document.getElementById("payment-form");
    var iFrame = document.querySelector("iframe");
    UnivapayCheckout.submit(iFrame)
      .then(function (data) {
        form.submit();
        }).catch(function (errors) {
          console.error(errors);
      });
  };

処理実行時にパラメータの値を上書きする関数

UnivapayCheckout.updateを利用することで、トークン作成前に任意の項目の値を更新することが出来ます。
この関数を利用することで、例えばパラメータでダミーの電話番号やメールアドレスを事前にして項目を非表示にしている場合、決済フォーム以外で入力されている正しい消費者の情報を更新しながらトークンを作成することが出来ます。
更新することが出来る項目は以下です。

UnivapayCheckout.update(
  parameters: {
    metadata?: Record<string, string | number | boolean | null>;
    name?: string;
    nameKana?: string;
    email?: string;
    phoneNumber?: {
        countryCode?: string;
        localNumber?: string;
    };
    address?: {
        line1?: string;
        line2?: string;
        city?: string;
        state?: string;
        zip?: string;
        countryCode?: string;
    }
  },
  options?: {
    forceUpdate?: boolean; //消費者が決済フォームに情報を入力していたとしても強制的に更新するかどうか
  }
)

サンプル

UnivapayCheckout.update(
            iFrame,
            { email: "updated-dummy-email@univapay.com",
              phoneNumber: {
               countryCode: "+81",
               localNumber: "08000000000"
              }
             },
        );

インラインフォームのデザインを制御するパラメータ

全て、インラインでのstyle記述と同じルールで記述してください。
備考欄に記載の要素に、インラインでstyleの値が記述されます。

フィールド
赤字は必須
※は条件付き必須
許容する値備考省略時の値
inlineItemStyle半角英数
+記号
ラベル、入力欄、エラーメッセージのセットが格納された
<div class="form-group form-group-sm">
と、それに内包される
<div class="checkbox">
に適用したいstyle
当社規定のCSS適用
inlineTextItemStyle〃<div class="form-group form-group-sm">
に適用したいstyle
ただし、内包される<div class="checkbox">には適用しない
(個別の指定が必要な場合)
〃
inlineToggleItemStyle〃<div class="checkbox">にのみ適用したいstyle
(個別の指定が必要な場合)
〃
inlineItemLabelStyle〃各入力欄のラベル
<label class="control-label">
にのみ適用したいstyle
〃
inlineTextItemLabelStyle〃テキスト入力フィールドに入力された文字のラベル
<label class="control-label">
にのみ適用したいstyle
〃
inlineFieldStyle〃テキスト入力フィールドに入力された文字と、チェックボックスのラベル
<span class="input-group">
に適用したいstyle
〃
inlineTextFieldStyle〃テキスト入力フィールドに入力された文字
<span class="input-group">
に適用したいstyle
ただし、内包される<div class="checkbox">には適用しない
(個別の指定が必要な場合)
〃
inlineItemErrorStyle〃エラーメッセージ
<div class="field-error">
に適用したいstyle
〃
inlineTextErrorStyle〃エラーメッセージ
<div class="field-error">
に適用したいstyle
ただし、内包される<div class="checkbox">には適用しない
(個別の指定が必要な場合)
〃
inlineFieldInvalidStyle〃テキスト入力フィールドに入力された文字が、無効と判定された場合
<input class="form-control input-sm">
に適用したいstyle
〃
inlineTextFieldInvalidStyle〃テキスト入力フィールドに入力された文字が、無効と判定された場合
<input class="form-control input-sm">
に適用したいstyle
ただし、内包される<div class="checkbox">には適用しない
(個別の指定が必要な場合)
〃
inlineTextToggleInvalidStyle〃<div class="checkbox">が無効のまま送信されようとした時に適用したいstyle
(個別の指定が必要な場合)
〃
inlineFieldForcusStyle〃テキスト入力フィールドがフォーカスされた時に
<span class="input-group-focus">
に適用したいstyle
〃
inlineTextFieldForcusStyle〃テキスト入力フィールドがフォーカスされた時に
<span class="input-group-focus">
に適用したいstyle
ただし、内包される<div class="checkbox">には適用しない
(個別の指定が必要な場合)
〃
inlineToggleFieldForcusStyle〃<div class="checkbox">がフォーカスされた時に適用したいstyle
(個別の指定が必要な場合)
〃
記述ルールについては免責事項を参照してください

コールバック

ウィジェットのページに記載してある内容と同様です。

パラメータ

インラインフォームで扱えるパラメータは、ウィジェットで扱えるパラメータの一部です。
そのため、個別でページ作成をしていません。

以下より「インラインフォームで利用可」となっているもの(クレジットカードで処理できるもの)を選択し、記述してください。

  • パラメータ(基本動作)
  • パラメータ(定期課金)
  • パラメータ(分割払い)

関数

任意でインラインフォームのパラメータで指定された情報を上書きするための関数があります。
メールアドレスや電話番号をダミーで指定し、項目を非表示にしている場合、実際のユーザー情報を更新させながら、トークンの作成処理を行うことが可能です。

UnivapayCheckout.update(
 parameters: { metadata?: Record<string, string | number | boolean | null>; 
  name?: string; 
  nameKana?: string; 
  email?: string; 
  phoneNumber?: {
   countryCode?: string;
   localNumber?: string;
   }; 
  address?: {
   line1?: string;
   line2?: string;
   city?: string;
   state?: string;
   zip?: string;
   countryCode?: string;
   }
  }, 
  options?: {
   forceUpdate?: boolean;
   }
  )

記述例

UnivapayCheckout.update(
            iFrame,
            { email: "updated-dummy-email@univapay.com" },
            // { forceUpdate: true } -> ユーザーが項目に値を入力していても強制的に上書き
        );

決済手段別 実装ガイド

本サービスと加盟店さまの商用サイトとを連携するための実装ガイドです。
「はじめに」を通読の上、ご覧ください。

Articles

  • 銀行振込 - 概要
  • コンビニ決済 - 概要
  • オンライン決済 - 概要
  • Paidy - 概要

銀行振込 - 概要

本サービスの銀行振込は、申込ごとに発行したユニークな口座番号への振込確認・消込を自動で行い、結果を反映する仕組みです。
利用する口座は「GMOあおぞらネット銀行」から発行されます。
これにより、手作業による振込確認と消込が必要なくなります。

銀行振込でサポートしている内容は、以下を参照してください。

課金方式

都度課金およびリカーリング課金を利用できます。
定期課金には利用できません。

実装方法

当社決済フォーム(リンクフォーム,ウィジェット)の設置と、APIでの連携が可能です。

処理

以下の処理は対応していないため、有効にしても無視されます。

処理注意点
CVV認証(CVV auth)
仮売上
分割払い
無効な項目のため
定期課金未実装な項目のため

銀行振込 - 特徴

消費者の支払いフロー

銀行振込の申込後、指定口座に振り込むと決済が完了される流れです。
当社決済フォームを利用した場合の消費者の支払いフローは、下記の画像付き資料を参照してください。

消費者の支払いフロー(PDFファイル)

課金ステータスと結果

管理画面>決済 から申込や振込の履歴を確認できます。
また、「ステータス」と「結果」の2つの項目の組み合わせで、支払い状況を確認できます。
「ステータス」は決済履歴一覧および詳細画面の「課金詳細」から、「結果」は詳細画面の「支払い詳細」から確認できます。

課金ステータスの種類

処理待ち:口座を発行して未入金、または入金額に不足がある
成功:申込金額以上が入金されている 超過した場合も成功として扱う
失敗:申込金額の入金がなく、振込期限が切れた

発生し得る「ステータス」と「結果」の組み合わせ例

状態ステータス結果
消費者から入金待ち(申込直後など)処理待ち未入金
申込金額に満たない金額が入金されている
振込期限まで同一口座に追加入金が可能
処理待ち不足
申込金額と同一の金額が入金されている成功丁度
申込金額以上の金額が入金されている
銀行振込決済では返金機能がないため、超過分は加盟店さま側で消費者への連絡・返金が必要
成功超過
振込期限までに入金がなかった
振込期限を過ぎて口座が停止しているため、入金は不可
必要な場合は新たに課金申込
失敗未入金
申込金額に満たない金額が入金されている
振込期限を過ぎて口座が停止しているため、追加入金は不可
銀行振込決済では返金機能がないため、入金分は加盟店さま側で消費者への連絡・返金が必要
失敗不足

処理の基本フロー

以下フローは、管理画面>一般設定>決済サービス>決済方法>銀行振込>振込の受付 が「すべて」の場合です。

テストモードの挙動

テストモードでは本番モードと挙動が異なります。
テストモードの挙動は下記のとおりです。

リクエスト方法挙動
ウィジェット
リンクフォーム
即時に課金ステータスが「成功」、結果が「丁度」になる
API①課金ステータスが「処理待ち」になる
②課金の取得により「”status”: “awaiting”」を確認する
③イシュアトークンの取得後、課金ステータスが「成功」、結果が「丁度」の状態になる

テストモードでリクエストすることで、メール通知とウェブフック(システム通知)を確認できます。
テストモードで確認できる処理は上記のみで、振込期限切れによる失敗や超過入金は確認できません。

口座の発行方法

口座の発行方法には「ワンタイム型」と「リカーリング型」の2種類があります。

ワンタイム型

1度限り使用可能なトークンを生成します。このトークンに対して課金リクエストを行うと、同じ消費者であっても1決済ごとに異なる口座番号を振込先として発行します。
そのため、毎回同じ口座番号を振込先として発行するリカーリング型と比べて、正確な入金管理を行うことができます。

リカーリング型(口座番号固定)

繰り返し使用可能なトークンを生成します。
このトークンに対して課金リクエストを行うと、消費者は毎回同じ振込先口座番号を利用できます。
リカーリングトークンは、何度でも繰り返し利用できます。

なお、1つのトークンで入金待ちの課金申込が複数存在する場合、古い課金申込が優先で消し込まれます。

消し込みの例

1つのトークンで入金待ちの課金申込が2つある場合

課金申込日課金ID金額ステータス結果入金額
2022/1/111ed2a5e-91bd-2b04-be0c-733e06e5b0fd¥5,000処理待ち未入金¥0
2022/1/1511ed2a5e-4523-267c-be30-b33ea12033ff¥10,000処理待ち未入金¥0

この状態で10,000円入金された場合

課金申込日課金ID金額ステータス結果入金額
2022/1/111ed2a5e-91bd-2b04-be0c-733e06e5b0fd¥5,000成功丁度¥5,000
2022/1/1511ed2a5e-4523-267c-be30-b33ea12033ff¥10,000処理待ち不足¥5,000

2022/1/1の課金申込に5000円分が入金され、金額丁度で成功となる
2022/1/15の課金申込に残り5,000円分が入金される

振込期限

管理画面で振込期限を設定できます。

また、課金申込時にウィジェット・リンクフォーム・APIそれぞれのパラメータを指定することで、決済ごとに異なる期限を指定できます。
各パラメータの指定方法は、利用ガイド「振込 – 要注意なパラメータ」を参照してください。
パラメータを指定しない場合は、管理画面の振込期限が適用されます。

振込期限を超えた課金申込はステータスが失敗となり、該当口座への振込を行うことができなくなります。

※「リカーリング型」は同じ口座で複数の課金申込が存在するため、該当口座に紐づく全ての課金ステータスが成功か失敗となった段階で、振込を行うことができなくなります。

管理画面での設定方法

一般設定>決済サービス>決済方法>銀行振込>振込のお支払い期限 から設定できます。
設定可能な振込期限のパターンとそれに対する期限の例(1/1に申し込みを行った場合)は下記です。

振込期限の設定振込期限
一日1/2 23:59
三日1/4 23:59
一週間1/8 23:59
二週間1/15 23:59
四週間1/29 23:59

振込上限額

管理画面から振込上限額を設定することで、超過入金を防ぎ、返金対応を減らせます。

設定方法

管理画面>一般設定>決済サービス>決済方法>銀行振込>振込の受付 から振込上限額を設定できます。

設定挙動
すべて課金申込と同額以上の金額となるまで振込が可能
超過入金を防ぐ口座に対して振込上限額が設定される
上限を上回る振込額の場合、金融機関側で振込元口座に全額が自動返金される

使用上の注意

口座への入金額に応じて、振込上限額がその都度更新されます。
そのため、「超過入金を防ぐ」を設定している場合でも、振込タイミング等により完全に防げない可能性があります。

また、「リカーリング型」は同じ口座で複数の課金申込が存在するため、該当口座に紐づく課金申込金額の合計が振込上限額として判断されます。

入金が反映されるタイミング

該当口座へ入金が確認できたら、時間帯や曜日を問わずおよそ1時間以内に課金ステータスおよび結果が更新されます。
なお、振込元金融機関の処理によっては、該当口座への入金が金融機関の翌営業日以降となる可能性があります。
入金予定時間は、振込元の金融機関にお問い合わせください。

結果の通知・確認

管理画面>一般設定>一般>通知 で「銀行振込」の設定を有効にしている場合は、それぞれの処理に対応したメールが送信されます。
結果を加盟店さまの配送(または、それに準ずる会員ステータス等の)システムに自動で反映する必要がある場合は、ウェブフックで結果を受信して注文システムを更新するプログラムを設置してください。

※メールおよびウェブフックでの入金結果の通知には、2時間程度かかる場合があります。
 銀行振込の場合、ウェブフックのイベントは「課金」を利用して判定してください。
 また、銀行振込 / 不足入金 の通知はメールのみ対応しています。

また、結果はAPIへリクエストすることでも取得できます。
システム連動を行わず、管理画面またはメールで結果を確認する場合は作成する必要はありません。

以下では、銀行振込の各処理時に通知されるメールのテンプレートを抜粋して紹介します。

種別説明
銀行振込 申込完了課金申込時に送信されます。
課金は、ステータスが処理待ち、結果が未入金の状態です。
銀行振込 不足入金入金額が不足に送信されます。
課金は、ステータスが処理待ち、結果が不足の状態です。
銀行振込 入金完了入金額が丁度で、課金が成功した時に送信されます。
課金は、ステータスが成功、結果が丁度の状態です。
銀行振込 入金完了(超過)入金額が超過して課金が成功した時に送信されます。
課金は、ステータスが成功、結果が超過の状態です。
振込期限切れ(督促あり)課金失敗時に送信されます。
課金は、ステータスが処理待ち、結果が未入金または不足の状態です。
振込期限切れ(督促なし)課金失敗時に送信されます。
課金は、ステータスが失敗、結果が未入金または不足の状態です。

メンテナンスについて

GMOあおぞらネット銀行側で、定期的にシステムメンテナンスがあります。「課金申込」「入金通知」「請求停止」「振込期限切れによる口座停止」などの処理で、エラーや処理遅延が発生する可能性があります。予めご了承ください。
システムメンテナンス中に発生するエラーは以下です。

エラーコードエラー説明
503Gateway is under maintenanceメンテナンス中です
加盟店さまが保有している口座数が足りている状態で課金作成した時
347Assignment of virtual bank account expired銀行口座の割り当てが失効しました
加盟店さまが保有する口座が足りず、課金作成時に新規口座取得のリクエストをGMOあおぞらネット銀行に送信した時

銀行振込 - 要注意なパラメータ

本ページは、銀行振込に対してパラメータを使用する場合に、注意すべき点の補足説明です。

事前に読むべきページ

このページでは、以下のページが読まれていることを前提に説明します。

ウィジェット

  • ウィジェット – 概要
  • 設置 – (HTML/JavaScript)

リンクフォーム

  • リンクフォーム – 概要
  • パラメータ(基本動作)

API

  • 課金 – 概要
  • 課金 – CREATE

表示させる決済手段の限定

課金作成時に以下記述をすることで、他の決済手段を含まず、銀行振込の手続きだけを消費者に行わせることができます。
また、役割の異なるパラメータが、意図せず適用されることを防げます。

実装方法フィールド値の例(銀行振込のみ表示させたい場合)
ウィジェット
(HTML / JavaScript)
data-payment-methods /
paymentMethods
bank_transfer
リンクフォームpaymentMethods[]bank_transfer

この指定をしない場合は、利用可能なすべての決済手段が表示されます。
全てではなく、いくつか特定の決済手段を表示させたい場合は、それぞれの決済手段を指定してください。

独自のはたらきをするパラメータ

銀行振込利用時に独自のはたらきをするパラメータを、抜粋して紹介します。

振込期限の指定

トランザクショントークン作成時および課金作成時に以下記述をすることで、任意の銀行振込の期限を指定できます。

方法1 日時を指定

課金作成時に以下記述をしてください。

実装方法フィールド値の例(2023/4/3 12:34:56までの場合)
ウィジェット
(HTML / JavaScript)
data-capture /
capture
かつ
data-capture-at /
captureAt
false
かつ
2023-04-03T12:34:56+09:00
APIcapture_at2023-04-03T03:34:56Z
※国際規格(ISO 8601)で処理するため9時間の時差があります

方法2 間隔を指定(銀行振込 / コンビニ決済に対応)

課金作成時に以下記述をしてください。

実装方法フィールド値の指定例(3日後の12:34:56までの場合)
ウィジェット
(HTML / JavaScript)
data-expiration-period /
expirationPeriod
かつ
data-expiration-time-shift /
expirationTimeShift
P3D
かつ
12:34:56+09:00
リンクフォームexpirationPeriod
かつ
expirationTimeShift
P3D
かつ
12:34:56+09:00
(または12%253A34%253A56.000%252B09%253A00)

方法3 間隔を指定(銀行振込のみ対応)

課金作成時に以下記述をしてください。

実装方法フィールド値の指定例(3日後の12:34:56までの場合)
ウィジェット
(HTML / JavaScript)
data-bank-transfer-expiration-period /
bankTransferExpirationPeriod
かつ
data-bank-transfer-expiration-time-shift /
bankTransferExpirationTimeShift
P3D
かつ
12:34:56+09:00
リンクフォームbankTransferExpirationPeriod
かつ
bankTransferExpirationTimeShift
P3D
かつ
12:34:56+09:00
(または12%253A34%253A56.000%252B09%253A00)

銀行振込 - APIへのリクエスト

本ガイドは、銀行振込における各API処理の補足説明です。

銀行振込に必要な消費者の情報には、カード番号のような保護が必要な情報は含まれていないため、決済を行うシステムがPCI DSSに準拠していない場合でもAPIへのリクエストでトークンを作成できます。

以下では、本サービスのウィジェットやリンクフォームを使用せず、加盟店さま側で支払ページを作成しAPIで処理する場合のフローを説明します。

1.トークン作成

消費者の情報をトークン化して保存します。
詳細は、APIリファレンス「トランザクショントークン – CREATE」を確認してください。

リクエストBody例

{
  "payment_type" : "bank_transfer",
  "type" : "one_time",
  "email" : "demo@univapay.com",
  "data" : {
    "brand" : "aozora_bank"
  },
  "metadata": {
    "memberid" : "12345"
  }
}

2.課金作成

作成したトークンに対して課金申込を行います。
詳細は、APIリファレンス「課金 – CREATE」を確認してください。

リクエストBody例

{
  "transaction_token_id": "11ed00f1-da1b-c4d2-b420-37b91ef1b282",
  "amount": "100",
  "currency": "jpy",
  "metadata": {
    "orderid": "12345"
  }
}

3.課金の取得

課金申込の結果を取得します。
詳細は、APIリファレンス「課金 – GET」を確認してください。

"status": "awaiting"が確認できたら正常に課金申込が完了し、消費者からの振込待ちの状態です。

ウェブフックで結果を受信することも可能です。
(ウェブフックのイベント名はcharge_updatedです。)

レスポンス / ウェブフック Body 例

{
  "id": "11ed07f5-345d-4308-a4c9-9f6b3663e18f",
  "store_id": "11ec9f7f-fb01-2620-af32-af7eb1bedc1a",
  "transaction_token_id": "11ed07f5-2da0-18ce-96f7-9f06340a7a87",
  "transaction_token_type": "one_time",
  "subscription_id": null,
  "merchant_transaction_id": null,
  "requested_amount": 100,
  "requested_currency": "JPY",
  "requested_amount_formatted": 100,
  "charged_amount": 100,
  "charged_currency": "JPY",
  "charged_amount_formatted": 100,
  "only_direct_currency": false,
  "capture_at": null,
  "descriptor": null,
  "descriptor_phone_number": null,
  "status": "awaiting",
  "error": null,
  "metadata": {
    "orderid": 123456
  },
  "mode": "live",
  "created_on": "2022-07-20T06:28:44.521327Z"
}

4.トークン取得(任意)

課金申込後に発行した口座の支店や口座番号の情報を取得できます。
詳細は、APIリファレンス「トランザクショントークン – GET」を確認してください。

口座情報は、レスポンスの”data”の値として反映されます。
口座情報が反映されるタイミングは、トランザクショントークンを作成した時ではなく、課金申込が成功して"status": "awaiting"になった時以降です。

レスポンス Body例

{
  "id": "11ed00f1-da1b-c4d2-b420-37b91ef1b282",
  "store_id": "11ec9f7f-fb01-2620-af32-af7eb1bedc1a",
  "email": "demo@univapay.com",
  "payment_type": "bank_transfer",
  "active": true,
  "mode": "live",
  "type": "recurring",
  "usage_limit": null,
  "confirmed": null,
  "metadata": {
    "customer_id": 12345
  },
  "created_on": "2022-07-11T08:17:06.47037Z",
  "updated_on": "2022-07-26T09:37:05.663521Z",
  "last_used_on": "2022-07-26T09:37:05.666269Z",
  "data": {
    "brand": "aozora_bank",
    "bank_code": "0310",
    "bank_name": "GMOあおぞらネット銀行",
    "branch_name": "アジサイ",
    "branch_code": "123",
    "account_holder_name": "カ)ユニヴア ペイキヤスト",
    "account_number": "1234567"
  }
}

5.課金の取得

APIリクエストで入金結果および振込期限切れの結果を取得します。
詳細は、APIリファレンス「課金 – GET」を確認してください。

ウェブフックで結果を受信することも可能です。
(ウェブフックのイベント名はcharge_finishedです。)

レスポンス Body例

{
  id: "11ed00f1-f0c4-1ca2-b754-db0d9311d5a0",
  store_id: "11ec9f7f-fb01-2620-af32-af7eb1bedc1a",
  transaction_token_id: "11ed00f1-da1b-c4d2-b420-37b91ef1b282",
  transaction_token_type: "one_time",
  subscription_id: null,
  merchant_transaction_id: null,
  requested_amount: 100,
  requested_currency: "JPY",
  requested_amount_formatted: 100,   //元々の申込金額
  charged_amount: 100,
  charged_currency: "JPY",
  charged_amount_formatted: 100,   //実際の入金額
  only_direct_currency: false,
  capture_at: null,
  descriptor: null,
  descriptor_phone_number: null,
  status: "successful",
  error: null,
  metadata: {
    "orderid": 123456
  },
  mode: "live",
  created_on: "2022-07-11T08:17:44.481834Z"
}

状況は、課金の状態"status"および入金額"charged_amount_formatted"から確認できます。

コンビニ決済 - 概要

電算システムを利用した決済手段です。

決済フォームでの情報入力が完了すると、指定したコンビニエンスストアで入金を行うための情報が発行されます。
入金に必要な情報は、通知メールもしくはメタデータから確認可能です。
発行された情報をもとに消費者が入金を行うと、入金確認を自動で行い、結果を反映します。

また、管理画面の「ウェブフック」でURLを登録することによって、入金結果のシステム通知を受けることも可能です。

コンビニ決済でサポートしている内容は、以下を参照してください。

課金方式

都度課金およびリカーリング課金を利用できます。
定期課金には利用できません。

実装方法

当社決済フォーム(リンクフォーム,ウィジェット)の設置と、APIでの連携が可能です。

処理

以下の処理は対応していないため、有効にしても無視されます。

処理無視される理由
CVV認証(CVV auth)
仮売上
分割払い
無効な項目のため
定期課金未実装な項目のため

コンビニ決済 - 特徴

消費者の支払いフロー

コンビニ決済の申込後、通知メールの情報を確認してコンビニで入金すると、決済が完了する流れです。
当社決済フォームを利用した場合の消費者の支払いフローは、下記の画像付き資料を参照してください。

消費者の支払いフロー(PDFファイル)

課金ステータス

管理画面>決済 から、申込や入金の履歴を確認できます。
「ステータス」は決済履歴一覧および詳細画面の「課金詳細」から確認できます。

課金ステータスの種類

課金ステータス状態
処理待ち決済フォームから申込が完了しているが、消費者から入金されていない
もしくは入金確認中
成功各コンビニエンスストアで消費者の入金が完了した
キャンセル加盟店さま側で申込を取り消した状態
失敗決済フォームでの申込時に何かしらのエラーが発生した
もしくは入金期限を過ぎた

テストモードの挙動

テストモードでは本番モードと挙動が異なります。

テストモードで決済を行った場合、申込完了の直後は「処理待ち」のステータスになります。
その約10分後に自動的に「成功」のステータスへ変化します。

電話番号の末尾4桁を指定することで決済結果別の挙動を確認することが可能です。

電話番号の末尾4桁決済結果
1111課金失敗
4242返金失敗
1881キャンセル失敗

入金期限

管理画面、ウィジェット・リンクフォーム・APIのパラメータで振込期限を設定できます。
各パラメータの指定方法は、利用ガイド「コンビニ – 要注意なパラメータ」をご覧ください。

入金期限を超えた課金申込は失敗となり、決済失敗メールが送信されます。

管理画面での設定方法

一般設定>決済サービス>決済方法>コンビニ から、入金期限(期間および時刻)を設定できます。

  • 振込のお支払期限:入金期限(期間)
  • 振込期限(時間):入金期限(時刻)

パラメータで指定しない限り、ここでの設定が適用されます。
デフォルトは30日、期限時間は23:59:59です。

設定可能な入金期限のパターンとそれに対する期限の例(1/1に申し込みを行った場合)は下記です。

入金期間の設定入金期限
一週間1/8 23時59分までに振込
二週間1/15 23時59分までに振込
30日1/31 23時59分までに振込

使用上の注意点

下記の支払先は、時刻を指定できません。
時刻を指定している場合は無視され、自動で23:59:59になります。

  • セブンイレブン
  • セイコーマート/他支払(サークルK/サンクス/ペイジー)

通知メールテンプレート

管理画面>通知メールテンプレート から、通知メールの内容を編集できます。

新しくテンプレートを作成する場合は、「+新規作成」ボタンから行ってください。
作成済のテンプレートを編集する場合は、一覧から任意のテンプレートを選択してください。

デフォルト内容は、利用ガイド「通知メールテンプレート」を参照してください。

テンプレートの種別

以下では、コンビニ決済の処理時に通知されるメールのテンプレートを抜粋して紹介します。

種別テンプレートの種類説明
コンビニ決済のご案内メイン課金申込時に送信されます。
パラメータ${date}には申込日時ではなく、入金期限が表示されます。
コンビニ決済の取り消しメイン消費者が入金を行う前に、加盟店さま側で注文を取り消した時に送信されます。
決済完了通知メイン支払いが完了した場合に送信されます。
決済失敗メイン支払い期限切れの場合に送信されます。
コンビニ決済(各支払先名)の詳細サブメインテンプレート内のパラメータ${konbini_payment_details}として内容が表示されます。
各コンビニエンスストアでの支払い番号などの情報を含んでいて、支払先ごとに内容を編集できます。

コンビニ決済 - 要注意なパラメータ

本ページは、コンビニ決済に対してパラメータを使用する場合に、注意すべき点の補足説明です。

事前に読むべきページ

このページでは、以下のページが読まれていることを前提として説明します。

ウィジェット

  • ウィジェット – 概要
  • 設置 – (HTML/JavaScript)

リンクフォーム

  • リンクフォーム – 概要
  • パラメータ(基本動作)

API

  • 課金 – 概要
  • 課金 – CREATE

表示させる決済手段の限定

課金作成時に以下記述をすることで、他の決済手段を含まず、コンビニ決済の手続きだけを消費者に行わせることができます。
また、役割の異なるパラメータが、意図せず適用されることを防げます。

実装方法フィールド値の例1(コンビニ決済のみ表示させたい場合)
ウィジェット
(HTML / JavaScript)
data-payment-methods /
paymentMethods
konbini
リンクフォームpaymentMethods[]konbini
実装方法フィールド値の例2(コンビニ決済かつ特定のコンビニエンスストアに限定したい場合)
ウィジェット
(HTML / JavaScript)
data-payment-methods /
paymentMethods
seven_eleven,family_mart,lawson,mini_stop,seico_mart,pay_easy,circle_k,sunkus,daily_yamazaki,yamazaki_daily_store
リンクフォームpaymentMethods[]seven_eleven,family_mart,lawson,mini_stop,seico_mart,pay_easy,circle_k,sunkus,daily_yamazaki,yamazaki_daily_store

この指定をしない場合は、利用可能なすべての決済手段が表示されます。
全てではなく、いくつか特定の決済手段を表示させたい場合は、それぞれの決済手段を指定してください。

独自のはたらきをするパラメータ

コンビニ決済利用時に独自のはたらきをするパラメータを、抜粋して紹介します。

入金期限の指定

トランザクショントークン作成時および課金作成時に以下記述をすることで、任意の銀行振込の期限を指定できます。
トランザクショントークン作成時と課金作成時の両方で入金期限を指定した場合は、課金作成時の入金期限が優先されます。

方法1 日時を指定

課金作成時に以下記述をしてください。

実装方法フィールド値の例(2023/4/3 12:34:56までの場合)
ウィジェット
(HTML / JavaScript)
data-capture /
capture
かつ
data-capture-at /
captureAt
false
かつ
2023-04-03T12:34:56+09:00
APIcapture_at2023-04-03T03:34:56Z
※国際規格(ISO 8601)で処理するため9時間の時差があります

方法2 間隔を指定(銀行振込 / コンビニ決済に対応)

トランザクショントークン作成時に以下記述をしてください。

実装方法フィールド値の例(2023/4/3 12:34:56までの場合)
APIdata.expiration_period
かつ
data.expiration_time_shift
P3D
かつ
T12:34:56+09:00Z

課金作成時に以下記述をしてください。

実装方法フィールド値の指定例(3日後の12:34:56までの場合)
ウィジェット
(HTML / JavaScript)
data-expiration-period /
expirationPeriod
かつ
data-expiration-time-shift /
expirationTimeShift
P3D
かつ
12:34:56+09:00
リンクフォームexpirationPeriod
かつ
expirationTimeShift
P3D
かつ
12:34:56+09:00
(または12%3A34%3A56%2B09%3A00)

方法3 間隔を指定(コンビニ決済のみ対応)

課金作成時に以下記述をしてください。

実装方法フィールド値の指定例(3日後の12:34:56までの場合)
ウィジェット
(HTML / JavaScript)
data-convenience-store-expiration-period /
convenienceStoreExpirationPeriod
かつ
data-convenience-store-expiration-time-shift /
convenienceStoreExpirationTimeShift
P3D
かつ
12:34:56+09:00
リンクフォームconvenienceStoreExpirationPeriod
かつ
convenienceStoreExpirationTimeShift
P3D
かつ
12:34:56+09:00
(または12%3A34%3A56%2B09%3A00)

コンビニ決済 - APIへのリクエスト

本ガイドは、コンビニ決済における各API処理の補足説明です。

コンビニ決済に必要な消費者の情報には、カード番号のような保護が必要な情報は含まれていないため、決済を行うシステムがPCI DSSに準拠していない場合でもAPIへのリクエストでトークンを作成できます。

以下では、本サービスのウィジェットやリンクフォームを使用せず、加盟店さま側で支払ページを作成しAPIで処理する場合のフローを説明します。

1.トークン作成

消費者の情報をトークン化して保存します。
詳細は、APIリファレンス「トランザクショントークン – CREATE」を確認してください。

リクエストBody例

{
  "payment_type" : "konbini",
  "type" : "one_time",
  "email" : "demo@univapay.com",
  "data" : {
  "customer_name" : "テスト 太郎",
  "phone_number" : {
     "country_code" : "81",
     "local_number" : "0364413400"
   }, 
    "convenience_store" : "family_mart"
  },
  "metadata": {
    "memberid" : "12345"
  }
}

2.課金作成

作成したトークンに対して課金申込を行います。
詳細は、APIリファレンス「課金 – CREATE」を確認してください。

リクエストBody例

{
  "transaction_token_id": "11ed00f1-da1b-c4d2-b420-37b91ef1b282",
  "amount": "100",
  "currency": "jpy",
  "metadata": {
    "orderid": "12345"
  }
}

3.課金の取得

課金申込の結果を取得します。
詳細は、APIリファレンス「課金 – GET」を確認してください。

"status": "awaiting"が確認できたら正常に課金申込が完了し、消費者からの入金待ちの状態です。

ウェブフックで結果を受信することも可能です。
(ウェブフックのイベント名はcharge_updatedです。)

レスポンス / ウェブフック Body例

{
  "id": "11ed07f5-345d-4308-a4c9-9f6b3663e18f",
  "store_id": "11ec9f7f-fb01-2620-af32-af7eb1bedc1a",
  "transaction_token_id": "11ed07f5-2da0-18ce-96f7-9f06340a7a87",
  "transaction_token_type": "one_time",
  "subscription_id": null,
  "merchant_transaction_id": null,
  "requested_amount": 100,
  "requested_currency": "JPY",
  "requested_amount_formatted": 100,
  "charged_amount": 100,
  "charged_currency": "JPY",
  "charged_amount_formatted": 100,
  "fee_amount": null,
  "fee_currency": null,
  "fee_amount_formatted": null,
  "only_direct_currency": false,
  "capture_at": null,
  "descriptor": null,
  "descriptor_phone_number": null,
  "status": "awaiting",
  "error": null,
  "metadata": {
    "internal_convenience_payment_number": "20020-123456789012",
    "internal_convenience_payment_url": "https:/example.com"
  },
  "mode": "live",
  "created_on": "2022-07-20T06:28:44.521327Z"
}

支払先の情報は、レスポンスの"metadata"の値として反映されます。
支払先の情報が反映されるタイミングは、課金作成のリクエスト時ではなく、課金申込が成功して"status": "awaiting"になった時以降です。
"metadata"の値とその内容は以下の通りです。

"metadata"の値内容
internal_convenience_payment_number支払い番号
internal_convenience_payment_url支払い票のURL
※支払先がセブンイレブンの場合のみ発行されます

Pay-easyの場合は支払いに別途「収納機関番号」が必要です。
値は固定されていて、共通で58091です。
課金取得時のレスポンスには反映されず、申込完了メールにのみ反映されます。

4.課金の取得

入金の結果を取得します。
詳細は、APIリファレンス「課金 – GET」を確認してください。

ウェブフックで結果を受信することも可能です。
(ウェブフックのイベント名はcharge_finishedです。)

レスポンス Body例

{
  id: "11ed00f1-f0c4-1ca2-b754-db0d9311d5a0",
  store_id: "11ec9f7f-fb01-2620-af32-af7eb1bedc1a",
  transaction_token_id: "11ed00f1-da1b-c4d2-b420-37b91ef1b282",
  transaction_token_type: "one_time",
  subscription_id: null,
  merchant_transaction_id: null,
  requested_amount: 100,
  requested_currency: "JPY",
  requested_amount_formatted: 100,   //申込金額
  charged_amount: 100,
  charged_currency: "JPY",
  charged_amount_formatted: 100,   //入金額
  only_direct_currency: false,
  capture_at: null,
  descriptor: null,
  descriptor_phone_number: null,
  status: "successful",
  error: null,
  metadata: {
    "orderid": 123456
  },
  mode: "live",
  created_on: "2022-07-11T08:17:44.481834Z"
}

状況は、課金の状態"status"および入金額"charged_amount_formatted"から確認できます。

オンライン決済 - 概要

決済処理を行う際に各QR事業者(プロバイダ事業者)の画面に遷移し、消費者側がログインして決済する または 各アプリを開いて決済する手段です。
下記がオンライン決済に該当します。

  • PayPay Online
  • Alipay Online
  • Alipay Plus Online
  • WeChat Pay Online
  • d払い Online

オンライン決済でサポートしている内容は、以下を参照してください。

課金方式

都度課金のみ利用できます。
定期課金やリカーリングトークンを用いた継続的な課金には利用できません。

実装方法

当社決済フォーム(リンクフォーム,ウィジェット)の設置と、APIでの連携が可能です。

処理

以下の処理は対応していないため、有効にしても無視されます。

処理無視される理由
カード登録(リカーリングトークン作成)
CVV認証(CVV auth)
仮売上
分割払い
無効な項目のため
定期課金未実装な項目のため

オンライン決済 - 特徴

消費者の支払いフロー

ここでは、当社決済フォームを開いてから決済が完了するまでの流れを説明します。
決済手段や消費者の使用するデバイスによっては、利用できない方法があります。

PCブラウザで開く場合

決済手段消費者の支払いフロー
PayPay Onlineブラウザ内でログイン情報を入力し、SMSで発行されたワンタイムコードを入力して決済
または
表示されたQRコードをモバイル端末で読み取って決済
Alipay Online表示されたQRコードをモバイル端末で読み取って決済
または
ブラウザ内でAlipayのアカウント情報を入力し、支払いパスワードを入力して決済
Alipay Plus Online表示されたQRコードをモバイル端末で読み取って決済
WeChat Pay Online非対応
d払い Online ブラウザ内でログイン情報を入力し、SMSで発行されたワンタイムコードを入力して決済

モバイル端末で開く場合

決済手段消費者の支払いフロー
PayPay Online端末内のアプリを開いて決済
または
ブラウザ内でログイン情報を入力し、SMSで発行されたワンタイムコードを入力して決済
Alipay Online端末内のアプリを開いて決済
または
ブラウザ内でAlipayのアカウント情報を入力し、支払いパスワードを入力して決済
Alipay Plus Online支払うウォレットを選択し、端末内の各アプリを開いて決済
WeChat Pay Onlineリンクフォームを利用する場合:
アプリ内で当社決済フォームを開き、そのままアプリ内で決済
※決済手段でAlipay,Alipay Plusを選択すると支払い処理に失敗します。
※アプリ外のブラウザからフォームを開いた場合は、決済手段として表示されず利用できません。

ウィジェットを利用する場合:
アプリ外のブラウザから当社決済フォームを開き、情報入力後WeChatアプリへ移動して決済
※利用開始前に、ウィジェット設置予定のウェブサイトのドメインをサポートデスクへ連絡する必要があります。
※アプリ内のブラウザからフォームを開いて決済する方法は現在対応していません。
d払い Online ブラウザ内でログイン情報を入力し、SMSで発行されたワンタイムコードを入力して決済

※PayPay Onlineは決済時に消費者の情報を取得しないため、決済情報から消費者を特定できません。
 そのため、決済フォームから消費者の情報を取得する(メールアドレスを必須項目にする等)または メタデータを付与するなど、消費者を特定できる実装を推奨します。

消費者の支払い画面は、下記の画像付き資料を参照してください。

消費者の支払いフロー(PDFファイル)

テストモードの挙動

テストモードでは本番モードと挙動が異なります。
テストモードの挙動は下記のとおりです。

リクエスト方法挙動
ウィジェット
リンクフォーム
即時に課金ステータスが「成功」になる
APIレスポンスで "issuer_token": "test" が返却される
※実際のイシュアトークン(URL)は発行されません。

テストモードでリクエストすることで、メール通知とウェブフック(システム通知)を確認できます。

オンライン決済 - 要注意なパラメータ

事前に読むべきページ

このページでは、以下のページが読まれていることを前提として説明します。

ウィジェット

  • ウィジェット – 概要
  • 設置 – (HTML/JavaScript)

リンクフォーム

  • リンクフォーム – 概要
  • パラメータ(基本動作)

表示させる決済手段の限定

課金作成時に以下記述をすることで、他の決済手段を含まず、オンライン決済の手続きだけを消費者に行わせることができます。
また、役割の異なるパラメータが、意図せず適用されることを防げます。

実装方法フィールド値の例(オンライン決済のみ表示させたい場合)
ウィジェット
(HTML / JavaScript)
data-payment-methods /
paymentMethods
online
リンクフォームpaymentMethods[]online
実装方法フィールド値の例(オンライン決済かつ特定のQR事業者に限定したい場合)
ウィジェット
(HTML / JavaScript)
data-payment-methods /
paymentMethods
pay_pay_online, we_chat_online, alipay_online, alipay_plus_online
リンクフォームpaymentMethods[]pay_pay_online, we_chat_online, alipay_online, alipay_plus_online

この指定をしない場合は、利用可能なすべての決済手段が表示されます。
全てではなく、いくつか特定の決済手段を表示させたい場合は、それぞれの決済手段を指定してください。

オンライン決済 - APIへのリクエスト

本ガイドは、オンライン決済における各API処理の補足説明です。

オンライン決済に必要な消費者の情報には、カード番号のような保護が必要な情報は含まれていないため、決済を行うシステムがPCI DSSに準拠していない場合でもAPIへのリクエストでトークンを作成できます。

以下では、本サービスのウィジェットやリンクフォームを使用せず、加盟店さま側で支払ページを作成しAPIで処理する場合のフローを説明します。
APIの処理によって各QR事業者の支払い画面を呼び出すための流れは下記です。

1.トークン作成

消費者の情報をトークン化して保存します。
詳細はこちらのドキュメントを確認してください。

決済手段によって必要な情報が異なります。
また、 http_get や http_post など、各QR事業者が要求する実行方法によっても指定する値が異なります。

リクエストBody例

{
  "payment_type" : "online",
  "type" : "one_time",
  "email" : "demo@univapay.com",
  "data" : {
    "brand" : "alipay_plus_online",
    "call_method" : "http_get"
  },
  "metadata": {
    "memberid" : "12345"
  },
}

2.課金作成

作成したトークンに対して課金申込を行います。
詳細はこちらのドキュメントを確認してください。

リクエストBody例

{
"transaction_token_id": "9c3b37f8-1851-11e7-9b58-8b8ddbe8f1d1",
"amount": 1000,
"currency": "JPY",
"metadata": {
    "order_id": 12345,
    "shipping_details": "Customer wants it now"
  },
"redirect": {
    "endpoint": "https://test.url/path?additionalParams=paramValue"
  }
}

3.課金取得

課金申込の結果を取得します。
詳細はこちらのドキュメントを確認してください。

"status": "awaiting" が確認できたら正常に課金申込が完了し、消費者からの入金待ちの状態です。

ウェブフックで結果を受信することも可能です。
(ウェブフックのイベント名はcharge_updatedです。)

レスポンス / ウェブフック Body例

{
  "id": "0fe1e42a-1845-11e7-9b1f-d3bd0c055a99",
  "store_id": "af857264-180c-11e7-9be2-276aea4fed28",
  "transaction_token_id": "9c3b37f8-1851-11e7-9b58-8b8ddbe8f1d1",
  "transaction_token_type": "one_time",
  "subscription_id": null,
  "requested_amount": 1000,
  "requested_currency": "JPY",
  "requested_amount_formatted": 1000,
  "charged_amount": 1000,
  "charged_currency": "JPY",
  "charged_amount_formatted": 1000,
  "status": "awaiting",
  "error": null,
  "metadata": {
    "customer_id": 12345,
    "shipping_details": "Customer wants it now"
  },
  "mode": "test",
  "created_on": "2018-07-13T02:55:00.07367Z"
}

状況は、課金の状態 "status" および入金額 "charged_amount_formatted" から確認できます。

4.イシュアトークン取得

取得した課金IDを基に各QR事業者の支払い画面を呼び出します。
レスポンスで発行された各QR事業者の支払いURLを消費者側に表示すると、支払いに進めます。
詳細はこちらのドキュメントを確認してください。

レスポンス Body例

{ "issuer_token": "test", "call_method": "http_get" }

Paidy - 概要

Paidy(後払い)とは、購入代金を自由な方法で翌月にまとめて支払うことができる決済手段です。
決済フォームでメールアドレスと電話番号を入力し、SMS認証を行うことで決済を行います。

Paidyでサポートしている内容は、以下を参照してください。

課金方式

都度課金および定期課金、リカーリング課金を利用できます。

実装方法

当社決済フォーム(リンクフォーム,ウィジェット)の設置のみ対応しています。
APIでの連携には対応していません。

処理

以下の処理は無効な項目のため、有効にしても無視されます。

  • CVV認証(CVV auth)
  • 分割払い

Paidy - 特徴

消費者の支払いフロー

当社決済フォームへ情報を入力後、Paidyの決済画面が開いたら案内に沿って進むと、再度当社画面に戻って決済が完了する流れです。
ウィジェットの場合は「支払う」ボタンを押し、リンクフォームの場合は待機すると支払い完了画面が表示されます。

消費者の支払い画面は、下記の画像付き資料を参照してください。

消費者の支払いフロー(PDFファイル)

結果の通知・確認

結果を加盟店さまの配送(または、それに準ずる会員ステータス等の)システムに自動で反映する必要がある場合は、ウェブフックで結果を受信して注文システムを更新するプログラムを設置してください。また、結果はAPIへリクエストすることでも取得できます。

システム連動を行わず、管理画面またはメールで結果を確認する場合は作成する必要はありません。

テストモードの挙動

Paidyはテストモードの決済に対応していません。
本番モードの挙動は本ページ「消費者の支払いフロー」で確認してください。

Paidy - 要注意なパラメータ

本ページは、Paidyに対してパラメータを使用する場合に、注意すべき点の補足説明です。

事前に読むべきページ

このページでは、以下のページが読まれていることを前提として説明します。

ウィジェット

  • ウィジェット – 概要
  • 設置 – (HTML/JavaScript)

リンクフォーム

  • リンクフォーム – 概要
  • パラメータ(基本動作)

表示させる決済手段の限定

課金作成時に以下記述をすることで、他の決済手段を含まず、Paidyの手続きだけを消費者に行わせることができます。
また、役割の異なるパラメータが、意図せず適用されることを防げます。

実装方法フィールド値の例(Paidyのみ表示させたい場合)
ウィジェット
(HTML / JavaScript)
data-payment-methods /
paymentMethods
paidy
リンクフォームpaymentMethods[]paidy

この指定をしない場合は、利用可能なすべての決済手段が表示されます。
全てではなく、いくつか特定の決済手段を表示させたい場合は、それぞれの決済手段を指定してください。

各種機能詳細

本サービスを実装する上で、必要に応じて理解する必要がある各機能の仕様について記載しています。

Articles

  • 定期課金
  • 消費者によるお支払い方法の更新
  • CSVデータのダウンロード
  • CSV課金
  • 商品
  • 処理結果のメール通知
  • ウェブフック

定期課金

定期課金では、事前に指定したサイクルで自動的に課金を行います。
2回目以降の課金は、課金日の午前7時※より順次課金を開始します。
※毎日の定期課金 および 定期課金開始日が定期課金作成日の1日後な場合に限り午前9時

定期課金を作成する方法については実装ガイドの各ページを参照してください。

ステータス

ステータス状態
待機中定期課金を作成し、初回課金の待機中
継続中現在稼働中の定期課金
一時停止一時停止され再開可能な状態
または 定期課金失敗回数を超えた状態
リトライ待ち継続中の定期課金で課金を失敗し、再課金を待っている状態
または 一時停止後に再開し、再課金を待っている状態
永久停止定期課金が完全に停止され再開不可な状態
作成失敗定期課金作成のため初回課金を行うも決済失敗した状態
(定期課金として稼働していない状態)
完了指定した課金回数分の決済が終わった状態
または 分割払いが成功した状態

定期課金で行うことができる処理

処理説明
一時停止・永久停止・停止予約停止処理をするとその時点から継続的な課金を行わないようになる
設定によっては停止リクエストがあった時、次回課金実行日まで停止しないようにすることも可能
再開一時停止になっている定期課金を再開する
再開後はリトライ日、もしくは次回課金日に実行される
リトライ定期課金のサイクルでの課金が失敗した際に一定間隔で再度課金を実行する
間隔・回数はリクエストのパラメータまたは管理画面より設定が可能
支払い情報の更新クレジットカード等、消費者の支払い情報を変更する
詳細はこちら
定期課金情報の更新管理画面から次回課金日、次回課金金額、メタデータ、メールアドレスなどの編集が可能
仮売上定期課金の初回課金を仮売上にする
キャプチャされた後に定期課金が開始しサイクル毎に課金が行われる
回数制限付き定期課金回数を制限した定期課金を行い、回数分の課金が完了後終了する※
初回無料の定期課金初回処理でセキュリティコード認証を行うことで、初回の金額が0円の定期課金を作成することが可能
分割払い各決済フォームで分割回数を指定して決済すると、定期課金として作成される
APIで作成する場合は定期課金オブジェクトでフィールドを指定する必要あり
※割賦販売法に基づき、この機能を1商品を複数回に分けて決済するように利用することは禁止されています。
このような利用が発覚した際、カード会社からの調査依頼の発生や、加盟店契約の解約に至る可能性があります。

リトライ

定期課金の支払い失敗後、再度課金を行うことができます。
課金に失敗した日から指定した間隔日後に課金の再実行され、その後成功するまで設定された回数リトライを行います。

リトライの指定方法

リトライ間隔

リトライを行う間隔は定期課金毎に任意で指定できます。
また、作成済定期課金のリトライ間隔は管理画面から変更が可能です。

指定方法処理
パラメータなどで間隔を指定する指定した間隔でリトライ
※各実装方法でのページを参照してください
指定せずデフォルトで間隔が設定される定期課金の周期÷リトライ回数で計算された間隔でリトライ ※1 ※2
※1 毎月(monthly)は課金月に関係なく30日として計算されます。
※2 割り切れない場合は切り捨ての日数となります。(30日÷4=7.5日 →7日となります)

リトライ回数

リトライを行う回数は 管理画面>一般設定>決済サービス>全体設定 から設定できます。
初回を含め、設定回数以上のリトライが失敗した場合、定期課金が停止します。
一時停止中の定期課金を再開すると、もう一度設定された回数リトライを実行します。

リトライ終了後のステータス

リトライ終了後のステータスは 管理画面>一般設定>決済サービス>全体設定 から設定できます。
デフォルトは「一時停止」で、任意で「永久停止」を選択できます。

リトライ後の課金スケジュール

リトライの結果やタイミングによって、その後の課金スケジュールが異なります。

例)
課金間隔:毎月
リトライ回数:5回
リトライ間隔:10日

状態挙動課金スケジュール
支払い予定日より前にリトライが成功した当初のスケジュールに戻る6/1:失敗
6/11:リトライ失敗
6/21:リトライ成功
7/1:次回課金(当初のスケジュールに戻る)
支払い予定日より後にリトライが成功した過去に実行されるはずだった課金が1日おきに実行される
過去請求分の課金が成功したら当初のスケジュールに戻る
6/1:失敗
6/11:リトライ失敗
6/21: 〃
7/1:   〃
7/11:リトライ成功
7/12:次回課金(7/1の請求)
8/1:次回課金(当初のスケジュールに戻る)
設定された回数リトライが失敗したリトライ終了により定期課金が停止する6/1:失敗
6/11:リトライ失敗
6/11: 〃
6/21: 〃
7/1:   〃
7/11:リトライ失敗 → 停止

リトライ日

リトライ日は、「課金失敗日からリトライ間隔後の日付」と「指定した次回課金日」を参照して決定されます。

  • 「指定した次回課金日」の方が未来:指定した次回課金日にリトライを実行
  • 「課金失敗日からリトライ間隔後の日付」の方が未来:リトライ間隔後にリトライを実行

課金が失敗してリトライ待ちになった定期課金の次回課金日を変更しても、「課金失敗日からリトライ間隔後の日付」の方が未来の場合は次回課金日にリトライされないためご注意ください。
この場合、管理画面からリトライ間隔の変更を行うことによってリトライ間隔後より前に課金を実行させることが可能です。

継続中の定期課金を任意で一時停止して再開した場合は、リトライ待ちであってもリトライ日が表示されず、次回課金日に課金を実行します。

停止・再開

停止

定期課金に停止処理をすると、その時点から継続的な課金を行わないようになります。
停止する方法は下記です。

方法設定(指定)
管理画面「一時停止」「永久停止」ボタンを押下
停止予約を設定
※ページ下部に詳細を記載
API定期課金:UPDATE でstatus:suspendedに更新
定期課金:CREATEでschedule_settings.termination_mode:on_next_payment を指定
設定した回数リトライが失敗無し(自動で一時停止)
※前ページで記載

停止予約について

定期課金作成時、もしくは作成後管理画面(またはAPI)で操作することで、
停止リクエストがあった時に次回課金実行日に定期課金を停止させるかどうかを設定することができます。
※ここでの「停止リクエスト」は一時停止、永久停止の両方を指します

管理画面から変更する場合

「定期課金を停止する場合」

定期課金の停止リクエストを受けた場合に停止するタイミングを設定できます。

選択肢処理
すぐに定期課金を停止即時停止
次回課金日に定期課金を停止リトライ含む次回の課金実行日に、課金せず停止

「次回課金実行日の処理(リトライ日含む)」

リトライ含む次回の課金実行日の処理を設定できます。
前の項目で「次回課金日に定期課金を停止」を指定した場合に選択できるようになります。

選択肢処理
そのまま課金停止リクエストがない場合は課金を継続
停止リクエストを受けた場合は、次回課金日に停止
定期課金を一時停止次回課金実行日に一時停止
定期課金を永久停止次回課金実行日に永久停止
※デフォルトは「定期課金を一時停止」です
※リトライ失敗が指定した回数に達した場合は、上記の設定にかかわらず失敗したタイミングに停止します

再開

一時停止している定期課金に限り、再開処理をすることができます。
再開方法については下記の表を確認してください。

方法処理
管理画面管理画面>定期課金詳細 から「再開」ボタンを押す
API定期課金:UPDATE でunpaidに更新

再開後の挙動

再開する時、設定されていた次回課金日の状態によって挙動が異なります。

次回課金日の状態処理
再開日に対して次回課金日が未来
既に設定されている次回課金日に課金する
再開日に対して次回課金日が過去再開直後には課金されず、再開時から最も近い将来のサイクル日に次回課金日がセットされる
再開日が次回課金日と同日再開直後に即時課金される
※当日に既に課金が実行されていれば課金されない

次回課金日が過去の場合の例:
毎月1日の毎月サイクルの定期課金
8/1:課金
8/15:一時停止(次回課金日は9/1の状態)
10/2:再開(直後には課金されない)
→次回課金日が自動で11/1にセットされる

再開時に次回課金日を指定する

前回課金の処理結果によって処理が分かれます。

  • 前回課金が成功:指定した次回課金日で課金実行
  • 前回課金が失敗:前ページの仕様に従い、課金実行日を決定

回数指定の定期課金を再開する

再開時に過去の未払いの決済がある場合、元の課金スケジュールを後ろ倒しで支払い予定を追加します。

例:
毎月1日の毎月サイクル、5回の回数指定で、
8/15に停止し、10/2に再開した際の課金スケジュールは下記です。
未払いの9/1・10/1の分は後ろ倒し、1/1・2/1と支払い予定が追加されます(本来は12/1が最後の支払予定日)

停止しない停止して再開
8/18/1
9/1-(停止中)
10/1-(停止中)
11/111/1
12/1(完了)12/1
–1/1
–2/1(完了)

消費者によるお支払い方法の更新

消費者が自ら支払い方法を更新する方法はいくつか存在します。
新たに情報を登録して加盟店さまで既存の支払い情報と紐づけていただくか、既存の支払い情報を引き継いで更新する2つの場合に分かれます。

定期課金

消費者が利用するフォーム加盟店さまの提供方法
リンクフォームsubscriptionidを利用したフォームを準備する
※詳細はこちら
ウィジェット・インラインフォームdata-subscription-idを利用したフォームを準備する
※詳細はこちら
定期課金変更URL管理画面>定期課金>詳細 から、
カード情報変更フォームのURLを消費者に共有する
支払い情報の確認・変更画面別ページで設定、共有方法を記載

リカーリングトークン

消費者が利用するフォーム加盟店さまの提供方法
リンクフォームカード登録のみのフォームを準備する
※メタデータやトークンIDなどで消費者を判別することが必須
ウィジェット・インラインフォームカード登録のみのフォームを準備する
※メタデータやトークンIDなどで消費者を判別することが必須
支払い情報の確認・変更画面別ページで設定、共有方法を記載

以下のページでは「支払い情報の確認・変更画面」についての利用方法を説明します。

支払い情報の確認・変更画面

支払い情報の確認・変更画面では、消費者が定期課金のカード情報変更や停止、リカーリングトークンの追加や変更が可能です。
決済時やカード登録時に入力したメールアドレスをキーにして、定期課金やリカーリングトークンが表示されます。

確認・変更できる内容

定期課金情報

  • 課金停止処理
    定期課金を停止できます。回数制限付きの定期課金は停止できません。
  • カード管理  
    定期課金のカード情報を変更できます。設定で許可された方法から選択できます。
    • 現在のカードで名義・有効期限の変更
    • 新規カードを登録
    • その他のカードを使う(作成済のリカーリングトークンから選択)
      ※この方法の場合はメタデータなど変更前のトークン情報が引き継がれません。

お支払い方法

  • 新規カードの登録
    リカーリングトークンを作成できます。メタデータ等の情報は付与されません。
  • 名義・期限の変更
    作成済リカーリングトークンのカード名義/有効期限を変更できます。
    変更処理を行うと、名義/有効期限が変更されたリカーリングトークンが新しく作成されます。
    • 更新後のリカーリングトークン
      更新前のリカーリングトークンの情報を引き継ぎます。(カード番号、メタデータ、メールアドレス等)
    • 更新前のリカーリングトークン
      ステータス:停止になり、管理画面から閲覧できます。過去に行われた課金の情報も引き続き閲覧できます。

関連ページ

詳細は下記のページで説明しています。

  • 1.消費者の利用フロー
  • 2.加盟店さまの設定
  • 3.消費者へのURLの共有方法

1.消費者の利用フロー

1.メール通知など、加盟店さまから案内された支払い情報の確認・変更画面URLをクリックする
 ※消費者へのURLの共有方法は、「消費者へのURLの共有方法」のページを参照してください。

2.メールアドレスを入力する(URLにメールアドレスを未指定の場合のみ)

3.指定のメールアドレス宛に届いた認証コードを入力し、ログインする
  (認証コードの有効期限:5分)

4.各変更/停止処理を行う

5.処理ごとに通知メールが届く(通知設定がONの場合のみ)

※消費者の各処理が完了すると、処理ごとに加盟店さまに通知メールやウェブフックが送信されます。(通知メール設定およびウェブフックのトリガーがONの場合のみ)

2.加盟店さまの設定

変更・停止の許可設定

支払い情報の確認・変更画面から実行可能な処理は、管理画面の 一般設定>一般>全体設定>支払い情報の確認・変更画面から設定できます。

消費者側の制限

設定項目説明消費者の操作
消費者側で定期課金の表示定期課金情報タブを表示–
消費者側でお支払い方法の表示お支払方法タブを表示–
消費者側で定期課金の停止定期課金の停止を許可定期課金情報>課金停止処理
消費者側でカードの名義・有効期限の変更 リカーリングトークンのカード名義/有効期限更新を許可
※定期課金情報タブからカード名義/有効期限を変更するには、定期課金のトークンがリカーリングである必要があります
定期課金情報 or お支払方法>カード管理>名義・期限の変更
消費者側で新規カード登録リカーリングトークンの新規作成を許可
※定期課金情報タブでは、リカーリングトークンを作成しながら選択した定期課金のカード情報を更新します
定期課金情報 or お支払方法>カード管理>新規カード登録
消費者側でカードの削除リカーリングトークンの削除を許可
※定期課金を利用中の場合は、削除できません
お支払方法>カード管理>カード削除
消費者側で他のカードの選択 登録済のリカーリングトークンの選択を許可定期課金情報>カード管理>その他のカードを使う

支払い情報の確認・変更画面のモード

支払い情報の確認・変更画面のモードを本番/テストから選択できます。
すべての支払い情報の確認・変更画面に対して指定したモードが反映されます。

3.消費者へのURLの共有方法

管理画面「通知メールテンプレート」

メールテンプレート内に${customer_refer_link}のパラメータがある場合、支払い情報の確認・変更画面のURLが表示されます。

デフォルトのメールテンプレートを利用する

一般設定>一般>通知の「定期課金イベント発生時に通知」をONにしてください。
上記設定によって、定期課金関連の通知メールにURLが表示されます。

※メールテンプレートのデフォルト内容はこちらを参照してください

独自のメールテンプレートを作成する

「定期課金イベント発生時に通知」の設定次第で、通知メールテンプレートの利用方法が異なります。
※都度課金と定期課金を併用している場合、「定期課金イベント発生時に通知」をONし、メールの文面を分けることを推奨します

定期課金イベント発生時に通知利用方法
ONテンプレート「決済完了通知」「決済失敗」に${customer_refer_link}を追加して作成してください。
※都度課金の場合は、リカーリングトークンがある場合のみURLにログインできます
OFFページ下記説明を参照した上で作成してください。

前提として、定期課金関連のメールには二種類のテンプレートが存在します。
サブテンプレートの文面は、メインテンプレートの${subscription_payment_details:- }として反映されます。

種類テンプレート名
メインテンプレート・定期課金作成
・定期課金決済
・定期課金決済失敗
・定期課金の一時停止
サブテンプレート・定期課金詳細
・回数制限つき定期課金の詳細

用途に合わせてテンプレートにパラメータを追加してください。

作成するテンプレート利用方法
メイン・サブ両方を独自に作成するサブテンプレート内に${customer_refer_link}を、
メインテンプレートに${subscription_payment_details:- }を追加してください。
メインのみを独自に作成する${subscription_payment_details:- }を追加してください。
${subscription_payment_details:- }を追加しない場合は、${customer_refer_link}を追加してください。

${customer_refer_link}を追加可能なメールテンプレート

  •  定期課金作成
  •  定期課金決済
  •  定期課金決済失敗
  •  定期課金の一時停止
  •  定期課金のカード情報変更の案内 ※開発中のため現在は利用不可
  •  定期課金の詳細
  •  回数制限付き定期課金の詳細
  •  決済完了通知
  •  決済失敗

手動でURLを作成・送信

下記URLに店舗IDを入力して消費者に共有することで、支払い情報の確認・変更画面へアクセスできます。
加盟店さま側でメールアドレスを指定したい場合は、メールアドレスも入力してください。

方法URL
メールアドレスを指定しないhttps://customer.univapay.com/stores/{店舗ID}
メールアドレスを指定するhttps://customer.univapay.com/stores/{店舗ID}?emailAddress={メールアドレス}
メールアドレスおよび表示させる定期課金IDを指定するhttps://customer.univapay.com/stores/{店舗ID}?emailAddress={メールアドレス}&subscriptionId={定期課金ID}

管理画面「定期課金」(開発中)

対象の定期課金を選択し「定期課金の管理画面」のメール送信ボタンを押すと、消費者のメールアドレス宛に「定期課金のカード情報変更の案内」の通知メールが送信されます。

CSVデータのダウンロード

決済、定期課金、リカーリングトークンの情報をCSVデータで管理画面からダウンロードすることができます。

作成したデータのダウンロード有効期限は1時間です。
仕様上、50万件以上のダウンロードを行おうとするとエラーが発生しますので、それより少ない件数で実行してください。

各検索条件を指定することで、出力させたい情報を絞り込むことが可能です。
検索条件は加盟店さまがいる国が基準となって変動しますが、CSVに出力される決済データの時間帯は固定で日本標準時(JST)に設定されています。
 例:加盟店さまが台湾にいる場合
   検索場所…台湾 GMT+8: 2023/7/1 00:00:00 ~2023/8/1 00:00:00
   出力結果…日本 GMT+9:  2023/7/1 01:00:00 ~2023/8/1 01:00:00

ダウンロード方法によって取得できる項目は一部異なります。
決済、定期課金、リカーリングトークンに加え、決済の中でも管理画面の「すべてのプロバイダ」から決済方法毎に絞り込むことで一部項目が変化します。
方法毎の取得項目の一覧についてはこちらのファイルから確認して下さい。

取得できる項目一覧

項目説明
課金ID課金作成時に生成されるユニークなID
定期課金ID定期課金作成時に生成されるユニークなID
トークンIDトランザクショントークン作成時に生成されるユニークなID
加盟店加盟店名
店舗店舗名
イベント実行された処理の種類
※詳細はページ下部の表
イベント作成日時イベントが実行された日時
イベント金額各イベントの金額
イベント通貨イベントを実行した時の通貨
定期課金作成日時定期課金を作成した日時
定期課金更新日時定期課金が更新された日時
定期課金金額(サイクル支払額)サイクル毎に支払う金額
トークン作成日時リカーリングトークンが作成された日時
最後に使用された日時リカーリングトークンに課金処理が実行された最新の日時
セキュリティコード認証セキュリティコード認証を行ったリカーリングかどうか
モード処理のモード
本番 or テスト
定期課金モード処理のモード
本番 or テスト
トークンモード処理のモード
本番 or テスト
トークンメタデータトークンに付与されているメタデータ
課金メタデータ課金実行時に付与されたメタデータ
課金ステータス課金の実行結果
(リンク)
定期課金ステータス定期課金の状態
(リンク)
決済方法決済方法
プロバイダ決済方法
メソッド決済の実行方法
ブランドクレジットカードのブランド、もしくはコンビニ決済の支払い先店舗の種類
ゲートウェイ決済接続先名
エラーコードエラーコード
承認番号接続先へリクエストした決済ごとの任意の番号
返金作成日時返金実行日時
理由返金理由
メモ返金メモ
返金金額返金金額
返金通貨返金実行時の通貨
返金ステータス返金の実行結果
定期課金種類定期課金の種類
通常or回数指定or分割orリボ
スケジュール期間定期課金のサイクル
月末に固定定期課金実行日が月末日に固定されているか
次回課金日(次の支払い)次回課金日
最後課金最後に定期課金が実行された日時
次回課金金額次回課金金額
分割残り金額回数指定定期課金の場合、支払い完了するまでの残り金額
メールアドレスメールアドレス
住所1番地
住所2ビル名・その他
市区町村市区町村
都道府県都道府県
国国
郵便番号郵便番号
カードの種類クレジットカードの種類
クレジットorデビットorプリペイド
カード名義カード名義
有効期限(月)有効期限(月)
有効期限(年)有効期限(年)
下4桁クレジットカードの下4桁
カテゴリークレジットカードの種類
発行者クレジットカードの発行会社
発行国クレジットカードの発行国
CVVオーソリの利用セキュリティコード認証を行ったか
CVVオーソリステータスセキュリティコード認証の状態
お客様名消費者の名前
お支払い期限入金(振込)期限日時
金融機関番号310固定
金融機関名GMOあおぞら固定
支店番号振込先口座の支店番号
支店名振込先口座の支店名
口座種別普通固定
口座番号振込先口座番号
入金額入金した金額(合計ではない)
銀行実行日GMOあおぞら銀行で支払いが実行された日時
項目GMOあおぞら銀行側で実行された処理
入金 or 支払い or(空白)
入金ステータス入金の状態
支払い金額GMOあおぞら銀行で支払いが実行された金額

イベント種別について

イベント内容
売上課金処理が成功した
売上失敗課金処理が失敗した
取消課金処理が失敗した
キャンセルオーソリ(仮売上)のキャプチャ/銀行振込/コンビニ決済/オンライン決済/対面QRコード決済(MPM)を申し込んだ状態で、加盟店さまが決済を取りやめた
返金返金処理が成功した
返金失敗返金処理が失敗した
赤伝返金月をまたいだキャンセル処理が行われた
ワンタイムトークン発行課金を行うためにワンタイムトークンが発行された
リカーリングトークン発行支払い情報を登録するために、リカーリングトークンが発行された
オーソリ仮売上処理が成功した
オーソリ失敗仮売上処理が失敗した
CVVオーソリカード登録をするために、CVV認証を行い成功した
CVVオーソリ失敗カード登録をするために、CVV認証を行い失敗した
キャップチャーオーソリ済の状態から、キャプチャー(実売上)処理を行った
3-Dセキュア認証処理待ち決済システム側で3-Dセキュア認証を実行するための準備が完了し、イシュアトークンの取得処理を待っている状態
3-Dセキュア認証処理待ち失敗決済システムと3-Dセキュアセンターとの処理で問題が発生し、イシュアトークンの取得処理を行えない状態
3-Dセキュア認証3-Dセキュア認証処理が成功した
3-Dセキュア認証失敗3-Dセキュア認証処理が失敗した
3-Dセキュア認証タイムアウト3-Dセキュア認証処理中に、接続が切れた または 一定時間経過しても処理が完了しなかった等の理由でタイムアウトした
銀行振込口座発行銀行振込の申込が入ったときに、振込口座が発行された
銀行振込入金銀行振込の申込に対して、消費者が入金処理を行った
処理待ちオーソリ(仮売上)のキャプチャ/銀行振込/コンビニ決済/オンライン決済/対面QRコード決済(MPM)の決済情報を生成し、消費者の課金処理を待っている状態
処理待ち失敗オーソリ(仮売上)のキャプチャ/銀行振込/コンビニ決済/オンライン決済/対面QRコード決済(MPM)の決済情報の生成に失敗した

CSV課金

CSVファイルをアップロードすることで、既存の顧客に再び課金することができる機能です。
顧客の支払い情報が予めリカーリングトークンとして登録されている必要があります。

CSVファイルで提供された情報を元に、指定された顧客データの中で最も新しく作成されたリカーリングトークンを識別します。
その後、リカーリングトークンに保存された支払い情報を再利用して、新たな課金を行います。

対応している決済方法は、クレジットカード / Paidyのみです。
銀行振込 / コンビニ決済は対応していません。

※ご利用にはオプション契約が必要です。

トークンのステータスの確認について

CSV課金の仕様上、顧客データがあるもののうち、最も新しく作成されたリカーリングトークンが自動で選択されて課金を実行するため、決済可能なリカーリングトークンかどうかの確認は加盟店さま側で行ってください。

  • トークン作成のみ行う場合:CVV認証(実行している場合)と3-Dセキュア認証が成功しているかの確認
  • トークン作成と課金を行う場合:課金が成功しているかの確認

ファイルのフォーマット

CSVファイルのコンテンツ

※アップロード、結果ダウンロード時の文字コードはUTF-8です。

CSVファイル作成には、4つの項目が必要です:

項目説明
ジョブIDどの種類のデータを探せばよいかをシステムに知らせます
顧客データ顧客と関連するリカーリングトークンを識別するために使用されるデータです
金額新しい課金金額を入力する欄です。例:1000
通貨新しい課金通貨を選択する欄です。例:円ならJPY、米ドルならUSD

CSV課金アップロード時にメタデータを付与する

メタデータを付与するためには、「通貨」の右の列にフィールドを指定する必要があります。

基本のパターンは「:」で区切ったキーと値です。
key-one:value one
複数追加したい場合は「|」で区切ります。
key-one:value one|key-two:value two
値に「,」を利用する場合は下記のように指定してください。
key-one:"value one,123"

各ジョブIDについて

①顧客ID(ジョブID = 1)

顧客IDはメタデータ(univapay-customer-id)であり、リカーリングトークン登録処理時に任意で付与することができます。
システムでは、この顧客IDでタグ付けされたリカーリングトークンを検索し、新しい課金を行います。

例:
1,c5d1b760-c7db-4696-a943-8ce90c988486(顧客ID),1000,JPY

②顧客のメールアドレス(ジョブID = 2)

このオプションを使用するには、1列目にジョブIDとして2を、2列目に顧客のメールアドレスを入力してください。
システムでは、このメールアドレスがタグ付けされた最新のリカーリングトークンを検索し、新しい課金を行います。

例:
 2,test@univapay.com(メールアドレス),1000,JPY

③リファレンスID(ジョブID = 3)

リファレンスIDはメタデータ(univapay-reference-id)であり、リカーリングトークン登録処理時に任意で付与することができます。
システムでは、このリファレンスIDがタグ付けされた最新のリカーリングトークンを検索し、新しい課金を行います。

例:
 3,AB0001(リファレンスID),1000,JPY

④リカーリングトークンID(ジョブID = 4)

リカーリングトークン作成時に当システムで自動的に発番されるIDを用います。
システムでは、このIDを持つリカーリングトークンを検索し、新しい課金を行います。

例:
 4,11ecc509-cc27-28fe-9283-033858e9ed30(リカーリングトークンID),1000,JPY

サンプルファイル

csvcharges-sample.csv

※異なるジョブの指定を同じCSVファイルにまとめることも可能です

1,c5d1b760-c7db-4696-a943-8ce90c988486,3000,JPY
2,test001@test.com,2500,JPY
3,AB00001,1000,JPY
4,11ecc509-cc27-28fe-9283-033858e9ed30,500,JPY

決済結果のダウンロード

CSV課金完了後、管理画面から結果ファイルをダウンロード可能です。
ファイルの内容(ヘッダー)は下記となります。

検索コマンド,検索パラメータ,リクエスト金額,リクエスト通貨,メタデータ,課金ステータス,課金金額,課金通貨,課金ID,エラーメッセージ

3,AB00001,1000,JPY,metadata,SUCCESSFUL,1000,JPY,11ed1a13-525e-1bea-b97b-a

商品

商品機能は加盟店さまが販売している商品の、名称や金額・課金方式について登録することができます。
登録した商品は各決済フォームで選択・指定することでテンプレートのように使用することができます。

※ご利用にはオプション契約が必要になります。

利用方法

まず管理画面で商品を作成します。
作成方法、各項目についてはこちらを確認して下さい。

次に各決済フォームで登録した商品の情報を指定します。

決済方式利用方法
リンクフォーム・管理画面>リンクフォーム の作成画面で「商品」を有効 かつ 任意の商品を追加して保存
・作成時に指定した商品コードをパラメータに追加
詳細はこちら
ウィジェット・インラインフォーム作成時に指定した商品コードをパラメータに追加
詳細はこちら
API非対応

複数商品の利用について

この機能では、一度の決済で複数の商品を処理できます。
ただ、同時に決済できる商品の種類には利用する決済フォームごとに制限があります。

決済方式可能な利用方法
リンクフォーム都度課金商品同士の複数追加
都度課金商品と定期課金商品(1つまで)の複数追加
定期課金商品同士の複数追加 ※開発中
ウィジェット・インラインフォーム都度課金商品同士の複数追加

パラメータで利用する場合の注意点

  • 複数の商品を同時に指定する場合は「,」(カンマ)で区切って下さい。
  • 商品のパラメータを指定する場合は、app-id,checkoutを指定する必要があります。
  • 商品に含まれる情報をパラメータで別途指定すると商品の情報より優先されます。
    ex) amount や定期課金の場合 period 等
  • 商品に含まれない情報であればその他パラメータで併用可能です。
    ex) 初回0円の定期課金を作成する際はcvv-authorizeの指定が必要です。
  • 仮売上を行いたい場合はcaptureを併用して指定してください。

処理結果のメール通知

テンプレートでは、決済メールテンプレートの作成・編集ができます。

テンプレートを作成しない場合は、決済システム側のデフォルトの決済完了メールが送信されます。
別ページに例を記載していますが、その他メールの内容についてはテストモードで決済をすることで確認できます。

テンプレートの種類

決済完了

決済が成功した時に送信されます。仮売上のキャプチャ、返金を行ったときもこのメールが送信されます。
${transaction_type}の部分が処理によって「課金」もしくは「返金」と表示されます。

件名
${store} ${transaction_type}のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、${transaction_type}が行われましたのでご確認ください。

[支払方法 ] ${payment_type}(${payment_brand})
[課金ID  ] ${charge_id}
[課金日時 ] ${date}
[${transaction_type}金額 ] ${amount}
[請求名  ] ${descriptor}

——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

決済失敗

決済が失敗したときに送信されます。コンビニ決済の入金期限が切れたときもこのメールを送信されます

件名
${store} 課金失敗のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の課金が失敗いたしましたのでご確認ください。
——————————————————————————————-
[支払方法 ] ${payment_type}(${payment_brand})
[課金ID  ] ${charge_id}
[課金日時 ] ${date}
[課金金額 ] ${amount}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

リカーリング作成

クレジットカード決済のリカーリングトークンの作成(支払い情報の登録)が成功した時に送信されます
通常課金や定期課金で「カード登録(リカーリングトークン作成)」をONにした時にも送信されます

件名
${store} お支払い情報登録のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

ご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、${payment_type}情報が登録されましたのでご確認ください。
——————————————————————————————-
[支払方法 ] ${payment_type}(${payment_brand})
[名義   ] ${card_holder_name}
[更新日  ] ${date}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

リカーリングトークンのCVV認証失敗

カード登録(定期課金の初回カード登録も含む)のみ行う処理で、CVV認証(セキュリティコード認証)が失敗した時に送信されます

件名
${store} お支払い情報登録失敗のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

ご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、${payment_type}情報登録が失敗しましたのでご確認ください。
——————————————————————————————-
[支払方法] ${payment_type}(${payment_brand})
[日時  ] ${date}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

オーソリの実行

仮売上に成功した時に送信されます

件名
${store} 仮売上のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

ご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、仮売上に成功しましたのでご確認ください。
——————————————————————————————-
[支払方法   ] ${payment_type}(${payment_brand})
[名義     ] ${card_holder_name}
[メールアドレス] ${email_address}
[課金ID    ] ${charge_id}
[課金金額   ] ${amount}
[日時     ] ${date}
[請求名    ] ${descriptor}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

オーソリの実行

仮売上に失敗した時に送信されます

件名
${store} 仮売上失敗のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

ご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、仮売上に失敗しましたのでご確認ください。
——————————————————————————————-
[支払方法   ] ${payment_type}(${payment_brand})
[名義     ] ${card_holder_name}
[メールアドレス] ${email_address}
[課金ID    ] ${charge_id}
[課金金額   ] ${amount}
[日時     ] ${date}
[請求名    ] ${descriptor}
[エラーコード ]${error_code}
[エラー内容  ]${error_message}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

オーソリ済課金のキャンセル

仮売上をキャンセルした時に送信されます

件名
${store} 課金キャンセルのお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

ご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、課金がキャンセルされましたのでご確認ください。
——————————————————————————————-
[支払方法   ] ${payment_type}(${payment_brand})
[課金ID    ] ${charge_id}
[キャンセルID ] ${cancel_id}
[キャンセル金額] ${amount}
[日時     ] ${date}
[請求名    ] ${descriptor}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

定期課金作成

初回の定期課金作成が成功した時に送信されます

件名
${store} 定期課金作成のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、定期課金が登録されましたのでご確認ください。
——————————————————————————————-
[支払方法  ] ${payment_type}(${payment_brand})
[課金ID   ] ${charge_id}
[課金日時  ] ${date}
[請求名   ] ${descriptor}
[定期課金ID ] ${subscription_id}
[課金金額  ] ${amount}
[次回課金金額] ${subscription_next_payment_amount:- }
[次回課金日 ] ${subscription_next_date:-次回課金なし}
[課金サイクル]${subscription_period}
${subscription_payment_details:- }
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

定期課金決済

定期課金の2回目以降の決済が成功した時に送信されます
${transaction_type}の部分が処理によって「課金」もしくは「返金」と表示されます

件名
${store} 定期課金の${transaction_type}成功のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、${payment_type}の${transaction_type}が行われましたのでご確認ください。
——————————————————————————————-
[支払方法  ] ${payment_type}(${payment_brand})
[課金ID   ] ${charge_id}
[課金日時  ] ${date}
[請求名   ] ${descriptor}
[定期課金ID ] ${subscription_id}
[課金金額  ] ${amount}
[次回課金金額] ${subscription_next_payment_amount:- }
[次回課金日 ] ${subscription_next_date:-次回課金なし}
[課金サイクル]${subscription_period}
${subscription_payment_details:- }
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

定期課金決済失敗

初回課金金額がある定期課金の作成 および 定期課金の2回目以降の決済が失敗した時に送信されます

件名
${store} 定期課金の${transaction_type}失敗のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、${payment_type}の${transaction_type}が失敗いたしましたのでご確認ください。
——————————————————————————————-
[支払方法 ] ${payment_type}(${payment_brand})
[課金ID  ] ${charge_id}
[課金日時 ] ${date}
[定期課金ID ] ${subscription_id}
[課金金額  ] ${amount}
[次回課金金額] ${subscription_next_payment_amount:- }
[次回課金日 ] ${subscription_next_date:-次回課金なし}
[課金サイクル]${subscription_period}
${subscription_payment_details:- }
※初回の決済に失敗した場合は、もう一度店舗のフォームから決済処理を行ってください。

[エラーコード]${error_code:- }
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

定期課金一時停止

定期課金の一時停止をした時に送信されます

件名
${store} 定期課金停止のお知らせ
本文

=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。
決済情報をご確認のうえ、大切に保管してください。
=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。
下記の通り、定期課金の一時停止処理が行われましたのでご確認ください。
-------------------------------------------------------------------------------------------
[支払方法  ] ${payment_type}(${payment_brand})
[停止処理日 ] ${date}
[定期課金ID ] ${subscription_id}
${subscription_payment_details:- }
-------------------------------------------------------------------------------------------
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

定期課金永久停止

定期課金の永久停止をした時に送信されます

件名
${store} 定期課金停止のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。
決済情報をご確認のうえ、大切に保管してください。
=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。
下記の通り、定期課金の永久停止処理が行われましたのでご確認ください。
-------------------------------------------------------------------------------------------
[支払方法  ] ${payment_type}(${payment_brand})
[停止処理日 ] ${date}
[定期課金ID ] ${subscription_id}
-------------------------------------------------------------------------------------------
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

定期課金のカード情報変更の案内

※開発中のため現在利用不可
管理画面の定期課金詳細にあるボタン(開発中)から、支払い情報の確認・変更画面を案内したときに消費者に送信されます

件名
${store} 定期課金のカード情報変更のご案内
本文
=========================================================
このメールは定期課金にお支払い情報が登録されているメールアドレス宛に送信しております。

ご確認のうえ、大切に保管してください。

=========================================================

いつも${store}をご利用いただき誠にありがとうございます。

定期課金のお支払い情報更新手続きは下記URLから行ってください。
——————————————————————————————-
${customer_refer_link}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

定期課金のカード情報変更完了

定期課金に登録されているカード情報が変更された時に送信されます

件名
${store} 定期課金の${payment_type}情報更新のお知らせ
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

ご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、定期課金の${payment_type}情報が更新されましたのでご確認ください。
——————————————————————————————-
[支払方法 ] ${payment_type}(${payment_brand})
[名義   ] ${card_holder_name}
[更新日  ] ${date}
[定期課金ID] ${subscription_id}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:- }
[メールアドレス] ${contact_email:- }

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

定期課金の詳細

回数無制限の定期課金の情報が含まれています
このテンプレートは定期課金関連のテンプレートに${subscription_payment_details}を入力すると反映させられます

[定期課金種類]${subscription_type}
[課金回数]${subscription_cycles_count}回目
——————————————————————————————-
定期課金のお支払い情報更新手続きは下記URLから行えます。
${customer_refer_link:- }
※ご利用店舗様によってはURLから更新できない場合がございます。
 詳しくはご利用店舗様へお問合せくださいませ。

回数制限付き定期課金の詳細

回数制限付き定期課金の情報が含まれています
このテンプレートは定期課金関連のテンプレートに${subscription_payment_details}を入力すると反映させられます

[定期課金種類]${subscription_type}
[課金回数]${subscription_cycles_count}回目
——————————————————————————————-
定期課金のお支払い情報更新手続きは下記URLから行えます。
${customer_refer_link:- }
※ご利用店舗様によってはURLから更新できない場合がございます。
 詳しくはご利用店舗様へお問合せくださいませ。

分割払いの詳細

分割払いの情報が含まれています
このテンプレートは定期課金関連のテンプレートに${subscription_payment_details}を入力すると反映させられます

[定期課金種類]${subscription_type}
[分割回数]${subscription_total_cycles_count}回

決済フォーム支払い発行

オプションでリンクフォームのメール送信機能を利用するときに送信されます

件名
決済リンクよりお支払いをお願いします${store}

本文
=========================================================
ご注文ありがとうございます。
${store}でございます。

内容をご確認の上、以下のURLから決済画面へお進みください。
——————————————————————————————-
[URL期限 ] ${date}
[金額 ] ${amount}
[決済リンク]${link}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はお問い合わせ先情報へお願いいたします。

決済フォームカード登録発行

リンクフォームのメール送信機能を利用するとき、課金を行わなずカード登録のみ行うリンクフォームの場合はこのメールが送信されます

件名
決済リンクよりお支払いをお願いします${store}

本文
=========================================================
ご連絡ありがとうございます。
${store}でございます。

内容をご確認の上、以下のURLからカード登録画面へお進みください。
——————————————————————————————-
[URL期限 ] ${date}
[決済リンク]${link}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はお問い合わせ先情報へお願いいたします。

振込期限切れ(督促なし)
銀行振込の振込期限が切れたときに送信されます

件名
${store} お振込期限切れについて
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記お申込みに関しまして、お振込期限を過ぎましたので 無効となりました事をお知らせいたします。
——————————————————————————————-
[支払方法 ] 銀行振込
[課金ID  ] ${charge_id}
[金額   ] ${amount}
[入金額  ] ${deposit_amount}
※入金がある場合は、下記までお問い合わせください。
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

振込期限切れ(督促有り)

銀行振込の振込期限が切れた時、再度振込期限を指定して案内する設定の場合に送信されます

件名
${store} お振込のご確認
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記お申込みに関しまして、お振込期限が過ぎておりますが、
本日時点でご入金が確認できておりません。

お手数ではございますが、内容をご確認の上お振込をお願いいたします。

なお、本通知と行き違いでお振込みいただいている場合は、
何卒ご容赦くださいますようお願い申し上げます。
——————————————————————————————-
[支払方法 ] 銀行振込
[課金ID  ] ${charge_id}

[入金額  ] ${deposit_amount}
[差額   ] ${deposit_needed}

[銀行名  ] ${bank_name}
[支店番号 ] ${bank_branch_code}
[支店名  ] ${bank_branch_name}
[口座種別 ] 普通
[口座番号 ] ${bank_account_number}
[口座名義 ] ${bank_account_holder_name}

[最終期日 ] ${date}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:-メール対応のみ}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

銀行振込 申込完了

銀行振込の申込が行われたときに送信されます

件名
${store}  銀行振込 銀行振込のお申込を受け付けました
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

内容をご確認の上、期日までにお振込をお願いいたします。
——————————————————————————————-
[支払方法 ] 銀行振込
[課金ID  ] ${charge_id}
[金額   ] ${amount}

[銀行名  ] ${bank_name}
[支店番号 ] ${bank_branch_code}
[支店名  ] ${bank_branch_name}
[口座種別 ] 普通
[口座番号 ] ${bank_account_number}
[口座名義 ] ${bank_account_holder_name}

[振込期日 ] ${date}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

銀行振込 キャンセル

銀行振込の申込を加盟店さまが取り消した時に送信されます

件名
${store} 銀行振込 お申込がキャンセルされました
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記お申込みがキャンセルとなりましたのでご確認ください。
——————————————————————————————-
[支払方法 ] 銀行振込
[課金ID  ] ${charge_id}
[金額   ] ${amount}

[キャンセル日] ${date}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:-メール対応のみ}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

銀行振込 入金完了

銀行振込で消費者が入金したときに送信されます

件名
${store} お振込を確認しました
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、口座へのお振込を確認いたしましたのでご確認ください。
——————————————————————————————-
[支払方法 ] 銀行振込
[課金ID  ] ${charge_id}
[金額   ] ${amount}

[入金額  ] ${deposit_amount}
[入金日時 ] ${date}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

銀行振込 不足入金

銀行振込で消費者の入金金額が不足していたときに送信されます

件名
${store} お振込金額の不足について
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。
下記お申込みに関しまして、お振込金額が不足しております。

お手数ではございますが、内容をご確認いただき、
差額分のお振込をお願いいたします。

なお、本通知と行き違いでお振込みいただいている場合は、
何卒ご容赦くださいますようお願い申し上げます。
——————————————————————————————-
[支払方法 ] 銀行振込
[課金ID  ] ${charge_id}
[金額   ] ${amount}
[入金額  ] ${deposit_amount}
[入金日時 ] ${date}

[差額   ] ${deposit_needed}

[銀行名  ] ${bank_name}
[支店番号 ] ${bank_branch_code}
[支店名  ] ${bank_branch_name}
[口座種別 ] 普通
[口座番号 ] ${bank_account_number}
[口座名義 ] ${bank_account_holder_name}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:-メール対応のみ}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

銀行振込 入金完了(超過)

銀行振込で消費者の入金金額が超過していたときに送信されます

件名
${store} お振込を確認しました(金額超過)
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記の通り、口座へのお振込を確認いたしましたのでご確認ください。
——————————————————————————————-
[支払方法 ] 銀行振込
[課金ID  ] ${charge_id}

[入金額  ] ${deposit_amount}
[入金日時 ] ${date}

[超過金額 ] ${exceeded_amount}
※上記金額が本来お振込いただく金額より超過で入金されています。
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:-メール対応のみ}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

銀行振込 振込期限の通知

振込期限日が近づくとこのメールを送信します
一般設定で送信するかどうか、何日前に送信するかを設定できます

件名
${store} お振込期限について
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。
下記お申込みに関しまして、お振込期限が近づいております。
お手数ではございますが、内容をご確認の上お振込をお願いいたします。

なお、本通知と行き違いでお振込みいただいている場合は、
何卒ご容赦くださいますようお願い申し上げます。
——————————————————————————————-
[支払方法 ] 銀行振込
[課金ID  ] ${charge_id}
[金額   ] ${amount}
[入金額  ] ${deposit_amount}

[差額   ] ${deposit_needed}
[振込期日 ] ${date}

[銀行名  ] ${bank_name}
[支店番号 ] ${bank_branch_code}
[支店名  ] ${bank_branch_name}
[口座種別 ] 普通
[口座番号 ] ${bank_account_number}
[口座名義 ] ${bank_account_holder_name}

——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

コンビニ決済のご案内

コンビニ決済の申込が行われたときに送信されます

件名
${store} コンビニ決済のお申し込みを受け付けました
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

内容をご確認の上、期日までにご入金をお願いいたします。
——————————————————————————————-
[支払方法 ] コンビニ決済
[コンビニ名] ${payment_brand}
[課金ID  ] ${charge_id}
[金額 ] ${amount}
[入金期日 ] ${date}

[(各コンビニ情報の名称)] ${konbini_payment_details}
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

コンビニ決済の取り消し

コンビニ決済の申込を加盟店側で取り消したときに送信されます

件名
${store} お支払いのキャンセルについて
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。
下記お申込みに関しまして、キャンセルされましたので
無効となりました事をお知らせいたします。
——————————————————————————————-
[支払方法 ] コンビニ決済
[コンビニ名] ${payment_brand}
[課金ID  ] ${charge_id}
[金額 ] ${amount}

※入金がある場合は、下記までお問い合わせください。
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

コンビニ決済 期限切れ

コンビニ決済の入金期限が切れたときに送信されます

件名
${store} お支払期限切れについて
本文
=========================================================
このメールは決済されたメールアドレス宛に自動的に送信しております。

決済情報をご確認のうえ、大切に保管してください。

=========================================================

この度は、${store}をご利用いただき誠にありがとうございます。

下記お申込みに関しまして、お支払期限を過ぎましたので
無効となりました事をお知らせいたします。
——————————————————————————————-
[支払方法 ] コンビニ支払い
[コンビニ名] ${payment_brand}
[課金ID  ] ${charge_id}
[金額 ] ${amount}
[入金期限 ] ${date}

※入金された場合は、下記までお問い合わせください。
——————————————————————————————-
${store} お問い合わせ先情報
[電話番号   ] ${contact_phone_local:-メール対応のみ}
[メールアドレス] ${contact_email}

※このメールは送信専用のため、このアドレスへご連絡いただいても返信できかねます。
ご連絡はご利用の商品/サービス提供者様へお願いいたします。

コンビニ決済の詳細

各コンビニエンスストアごとの、消費者が入金するための情報が含まれています。このテンプレートは「コンビニ決済のご案内」に含まれ、選択したコンビニエンスストアのテンプレート情報が入ります。

パラメータ

パラメータを利用することで、消費者が行った処理ごとに結果の値を動的に反映させることができます。
テンプレートごとに利用できるパラメータは異なるため、各テンプレートの作成画面から確認してください。

各種パラメーターのご案内

パラメータ説明
${date}処理日時
※下記テンプレートのみ入金期限日時を表示
・銀行振込(申込完了 / 振込期限切れ(督促有り) / 振込期限の通知)
・コンビニ決済のご案内
${amount}金額
※定期課金の場合は1回あたりの課金金額、分割の場合は総額を表示
${payment_type}支払方法 
※カード、オンライン決済など
${payment_brand}支払ブランド 
※Visa、MasterCard、PayPayオンラインなど
${transaction_type}課金 or 返金
${store}店舗名
${charge_id}課金ID
${card_holder_name}カード名義 
${email_address}顧客メールアドレス
${descriptor}利用明細に記載される名称
※テストモードの場合は機能せず、パラメータをそのまま表示
${contact_email}連絡先メールアドレス
${contact_phone}連絡先電話番号
${charge_metadata}課金時に付与されたメタデータ
${token_metadata}トークン作成時に付与されたメタデータ
${subscription_id}定期課金ID
${subscription_period}定期課金のサイクル
${subscription_next_date}定期課金の次回課金日
${subscription_initial_amount}定期課金の初回課金額
${subscription_amount}回数無制限の定期課金:1回あたりの課金金額
回数制限付き定期課金・分割払い:支払いの総額
${subscription_payment_details}定期課金の詳細
・定期課金種類
・課金回数/分割回数
${customer_refer_link}カード情報変更/停止URL
${link}決済フォームor支払いに必要な情報のリンク
${customer_name}顧客名
${bank_accout_number}口座番号
${bank_branch_code}支店番号
${bank_branch_name}支店名
${bank_account_type}口座の種類
${bank_account_holder_name}振込先口座名
${bank_name}振込先銀行名
${deposit_amount}入金額
${deposit_needed}不足金額
${exeed_amount}超過入金額
${konbini_payment_details}コンビニ支払い情報詳細
${konbini_transaction_id}コンビニ支払い番号など
${error_code}エラーコード
${error_message}エラー内容
※決済サービスによっては利用できないパラメータもございます

応用的なパラメータの利用方法

パラメータによっては、メタデータなど1つの項目に複数の値が存在したり、処理の種類によりパラメータに値が入らない場合があります。
こういった場合にパラメータ内でより細かい指定をすることで、パラメータや複数メタデータをそのままメール本文に反映するのを防ぐことができます。

  • パラメータのデフォルト値を定義する
    ${parameter:-(デフォルト値)} を使用して下さい
    (parameter)に値が無ければ、指定したデフォルト値が表示されます。
    値が無いときに何も表示させたくない場合は、デフォルト値に空白文字を指定してください。
  • 特定のメタデータの値のみを表示する
    ${charge_metadata.(キー)},${token_metadata.(キー)}の形式で指定してください。

表示させたいメタデータの指定 例

パラメータメールに反映される情報
${subscription_next_date:-無し}次回以降に支払いが残っている場合:2024/08/01
今回の支払いが最後だった場合:無し
${charge_metadata.univapay-product-names}
または
${token_metadata.univapay-product-names}
商品名
${charge_metadata.univapay-phone-number}
または
${token_metadata.univapay-phone-number}
電話番号

${token_metadata.(キー)}の利用が必須のパターン

下記処理の場合は${charge_metadata.(キー)}を指定してもメタデータが表示されません。

  • リカーリング課金
  • CSV課金
  • リカーリングトークン作成
  • カード情報変更時

商品ごとに通知メールの文面を分ける

※商品機能をご利用にはオプション契約が必要になります。

商品ごとにメタデータを付与している場合、${charge_metadata.キー:-(空白)} とすることで、指定したメタデータの値のみメール文面に反映させるような使い方ができます。
商品を利用した場合のみ表示したいメタデータの値が表示され、商品を利用しない決済の場合は空白になります。

①商品にメタデータを付与
 商品ごとにメールで表示させたい文章をメタデータとして追加します。

②通知メールテンプレートを編集 
 商品メタデータのキーをproduct-text1とする場合、
メール通知テンプレート内のタグを ${charge_metadata.product-text1:-}
とすることで、メールの各箇所に商品別のメール文章のみを表記することができます。

③通知メールでの反映を確認
 商品ごとに異なる文章が表示され、商品を指定しない決済の時はメールに何も表示されないことが確認できれば問題ありません。

ウェブフック

本サービスで発生する各種イベントの結果は「ウェブフック」として、それぞれの指定先URL(ローカルURLは指定不可)にHTTP POSTメソッドで送信されます。

ウェブフックは、管理画面>ウェブフック>ウェブフック追加 から設定できます。
複数のイベントで同じURLを、チェックボックスで指定することも可能です。

作成したウェブフックのURL、Authorizationヘッダー、トリガーは、後から変更することもできます。

Authorizationヘッダーとは、サーバーでの不正を防ぐためにリクエストの受け取りに認証を必要としたい場合に指定することができる6文字以上の任意の値です。

弊社ウェブフックのAuthorizationヘッダーに加盟店さまのAuthorizationヘッダーと同じ値を指定することで、
加盟店さまサーバーの認証を受けてウェブフックを送信することができます。

※通知内容の各オブジェクトの説明、ウェブフック情報の取得・変更処理のAPIについてはこちら

注意事項

ウェブフックはベストエフォートのため、通知の成功や通知速度を保証するものではありません。
決済の結果を短時間で加盟店さまのページで次の処理を行いたい場合は、APIのリクエストで課金情報の取得(課金:GET)、もしくはウィジェットのパラメータに記述を追加することでコールバックのイベントをリアルタイムで受け取ることを推奨します。

※3-Dセキュア認証の実装について

「3DSステータス更新」のトリガーを設定すると、カード登録(リカーリングトークン)の3-Dセキュア認証を利用された時に認証結果の通知を受け取ることが出来ます。
data.three_ds.statusの値が変化されるたびに通知が送信されます。
例:

  1. リカーリングトークンを作成、初期ステータス:pending
  2. 3DS実行の準備が完了、認証待ちの状態:awaiting(ステータスが変化したタイミングで通知)
  3. 認証処理が終了、結果が反映:successful , failed(ステータスが変化したタイミングで通知)

ウェブフックの失敗後の挙動

ウェブフックの通知が失敗した場合、返却されたエラーコードによってリトライを行います。
失敗により停止したウェブフックは管理画面・もしくはAPIで再開する必要があります。

リトライ間隔は、1回目は1分でその後指数関数的に増加※し、最大は15分です。
※1分、2分、4分、8分、、と間隔が伸びていくこと

レスポンスステータスコード処理
2xx成功のためリトライしない
3xxリトライせず、失敗後即停止する
4xx、500、501、502初回含む最大10回のリトライを行い、最大回数に達すると停止する
5xx(500-502以外)
※当社側、加盟店さま側の3秒以上のレスポンスのタイムアウト時含む
初回含む最大10回のリトライを行い、最大回数に達しても停止しない
※ 加盟店さま側で3秒以内に200のレスポンスを返さないと、当社側で失敗と判断してリトライを実行します。
この時加盟店さまが受け取れているかどうかは判断できない為、3秒以内にレスポンスを返すよう構築してください。
また、レスポンスを返した後に以降の動作を行ってください。

ウェブフック失敗・停止時のお知らせ機能

管理画面より、ウェブフックが失敗・停止した際にメール通知を受け取る設定ができます。

必要な場合は、管理画面>一般設定>一般>通知 の「ウェブフック」の各項目を有効にしてください。

イベント名の一覧

※イベントごとに取得できる情報の一覧やパラメータの説明、ステータスについては各リソースタイプのリンク先よりご確認ください。

イベント名通知の契機管理画面でのトリガー名リソースタイプ
charge_updated都度の課金申込が完了し、ステータスが
authorized(オーソリ済)
awaiting(入金待ち:銀行振込やコンビニ決済で発生)
のいずれかに更新された時
課金情報/ステータスの更新課金
charge_finished都度の課金処理が完了し、ステータスが
canceled(返金済み)
error(エラー)
failed(失敗)
successful(成功)
のいずれかに更新された時
課金課金
subscription_payment定期課金の課金が成功した時定期課金成功定期課金
subscription_completed回数または総額を指定した定期課金の、すべての支払が完了した時
(または分割払いが選択された場合、charge_finishedと並行)
定期課金完了定期課金
subscription_failure定期課金が失敗し、ステータスが
unverified(待機中:定期課金を作成し、初回課金を待機中)
unconfirmed(作成失敗:初回課金に失敗し、定期課金が稼働していない)
unpaid(リトライ待ち)
のいずれかに更新された時
定期課金失敗定期課金
subscription_canceled定期課金のステータスが
canceled(永久停止:リクエストで移行し再開不可)
に更新された時
定期課金永久停止定期課金
subscription_suspended定期課金のステータスが
suspended(一時停止:管理画面で「一時停止」ボタンを押下、リトライ回数の超過、リクエストのいずれかで移行)
に更新された時
定期課金一時停止定期課金
subscription_created新しい定期課金リソースのレコードが作成された時定期課金作成定期課金
token_createdトークンが作成された時トークン作成トランザクショントークン
token_updatedトークンが更新された時トークン更新トランザクショントークン
token_cvv_auth_updatedトークンのdata.cvv_authorized.statusが更新された時。CVV認証ステータス更新トランザクショントークン
refund_finished返金(Refund)が完了
successful(成功)
failed(失敗)
返金返金
recurring_token_deletedリカーリングトークンが削除された時リカーリングトークン削除トランザクショントークン
token_replacedリカーリングトークンが更新された時リカーリングトークン更新トランザクショントークン
cancel_finishedキャンセルの状態が
error(エラー)
failed(失敗)
successful(成功)
になった時
キャンセル完了キャンセル
customs_declaration_finishedWeChat Pay(オンライン)の三単合一における「税関申告」が完了税関申告完了–
token_three_ds_updatedリカーリングトークンの3-Dセキュアのステータスが更新された時
data.three_ds.statusの変化を確認できます
・awaiting:認証の準備が出来ている状態
・successful:認証に成功した状態
・failed:認証に失敗した状態
・error:予期せぬエラーになった状態
3DSステータス更新トランザクショントークン

3-Dセキュア

以下のページは、本サービスでクレジットカード決済において3Dセキュア2.0を利用するためのガイドです。
該当ページを参照して実装時の利用イメージ、加盟店さま側の対応について確認して下さい。

Articles

  • 3‐Dセキュア - 概要
  • 加盟店さまの設定・実装
  • デフォルトの3-Dセキュア実行ルール

3‐Dセキュア - 概要

3-Dセキュア2.0とは

本人認証(EMV 3-Dセキュア)とは、カード利用者の決済情報などを基に、カード会社が高リスクと判断する取引にのみワンタイムパスワードなどの追加認証を実施するサービスです。
従来より提供されていた3-Dセキュア1.0が改善され、カード会社で取引のリスクを判定し、追加認証を出し分けすることにより、大幅にEC事業者の「かご落ちリスク」が軽減されました。

3-Dセキュアについての詳細はこちらから確認してください。

義務化について

キャッシュレス化の促進とそれに伴う不正利用被害に対する対策として、経済産業省が2025年3月までに「EMV 3-Dセキュア」の導入義務化を発表しました。
よって、クレジットカードを決済手段として提供するする全ての事業者は、一部の例外的な運用を除き3-Dセキュア2.0の導入が必須となります。

3-Dセキュア認証の種類

3-Dセキュア認証には、カード登録を行うための3-Dセキュア(以降「カード登録の3-Dセキュア」)と、課金を行うための3-Dセキュア(以降「課金の3-Dセキュア」)があります。
課金の3-Dセキュアは決済金額も認証の要素になり、不正利用などチャージバックが発生した際はその金額分の補償を受けることができます。
当システムのデフォルトのルールとして、金額を含む課金処理を実行したときに課金の3-Dセキュア認証は実行せず、カード登録の3-Dセキュア認証のみ行う場合もあります。
決済に対して課金の3-Dセキュア認証を行わせたい場合は、課金作成時に強制的に認証を実行させるパラメータを利用してください(APIのみ)。

加盟店さまの設定・実装

加盟店さまの設定

本サービスの3-Dセキュア認証対応をリリース前からの既存加盟店さまは、3-Dセキュア認証は実行されません。
このガイドを一読し必要な対応が完了した、または対応の必要が無い場合、加盟店さまへ通知する3-Dセキュア利用申込フォームから申込を行ってください。順次3-Dセキュア認証の利用設定を行います。
※2025年3月末までに必要な対応を完了させてください。
※ご連絡が無い場合も2025年4月以降は義務化にともない当社で設定を行います。

3Dセキュア利用にあたっての加盟店さまの作業

利用方法対応要否関連するページ
当サービスが提供する決済フォーム(リンクフォーム・ウィジェット・インラインフォーム)のみを利用無し・利用ガイドの3-Dセキュア関連ページ
・決済フォームの種類(消費者の支払いフロー)
課金作成のみAPIを利用要対応・利用ガイドの3-Dセキュア関連ページ
・決済フォームの種類(消費者の支払いフロー)
・3-Dセキュア認証の処理の流れ
(one_time,subscriptionトークンの場合4.以降、recurringトークンの場合、10.以降)
・実装方法
(カード情報の入力(トランザクショントークンの作成)は当社決済フォームを利用し、課金はAPIで実行している加盟店さま)
・追加されるパラメータ
・課金-イシュアトークン(3-Dセキュア)ーGET
トランザクショントークン作成APIを利用(PCI DSSに準拠)要対応すべての3-Dセキュア関連ページ
旧システムからラッパー機能を利用要対応(条件有り)旧システムの3-Dセキュア認証への対応
  • 本サービスが提供する決済フォームのみで決済処理が完結する場合は、加盟店さまでの作業は必要ありません。
    認証画面の表示、認証完了後の遷移まで当システムで実行します。
    また、3-Dセキュア認証には電話番号が必須なため、電話番号入力欄が自動で表示されます。
  • インラインフォームでトランザクショントークンの作成のみ実行し、Webサイトの次ページで確認画面を表示、課金/定期課金のAPIリクエストを送信するような運用をしている加盟店さまは、3-Dセキュア対応の為の改修が必要になる場合があります。
  • トランザクショントークンの作成からAPIを利用している(PCI DSSに準拠)、または旧システムからラッパー機能を利用している一部の実装方法の加盟店さまは対応の為の作業が発生します。

3-Dセキュア認証のテスト

テストモードで、特定のメールアドレスを利用することで3-Dセキュア認証の結果をコントロールし動作を確認することができます。
通常のメールアドレス、カード番号であれば3-Dセキュア認証は成功します。
決済時のメールアドレスの@の前に+3ds-failureを追加して処理すると3-Dセキュア認証が失敗した時の挙動を確認できます。

その他追加される機能

コールバック

イベント内容
3DS Start
(univapay:three-ds-authorization)
3-Dセキュア認証が開始されたことで発生するイベントです。
その他の情報は含みません。
3DS Open
(univapay:three-ds-authorization-modal-opened)
3-Dセキュア認証を実行する際、フォーム上にポップアップが表示されることで発生するイベントです。
その他の情報は含みません。
3DS Success
(univapay:three-ds-authorization-success)
3-Dセキュア認証が成功すると発生するイベントです。
対象のリソースのIDと処理の詳細情報が含まれます。
決済の成功を通知するイベントではありません。
3DS Failed
(univapay:three-ds-authorization-failure)
3-Dセキュア認証が失敗することで発生するイベントです。
対象のリソースのIDと処理の詳細情報が含まれます。

ウェブフック

イベント名通知の契機管理画面でのトリガー名リソースタイプ
token_three_ds_updatedリカーリングトークンの3-Dセキュアのステータスが更新された時
data.three_ds.statusの変化を確認できます
・awaiting:認証の準備が出来ている状態
・successful:認証に成功した状態
・failed:認証に失敗した状態
・error:予期せぬエラーになった状態
3DSステータス更新トランザクショントークン

デフォルトの3-Dセキュア実行ルール

以下の表は本サービスが提供する決済フォームを利用する際の3-Dセキュアの実行ルールです。
下記で紹介する例外的な決済方法の場合はこのルールには従わず実行しません。
APIでパラメータを付与することで課金実行時に強制的に3-Dセキュアを実行、もしくはスキップさせることも可能です。
※PCIDSSに準拠している加盟店さまが本サービスが提供する決済フォームを利用せずAPIで実装される場合はこの限りではありません。

処理の種類実行タイミング
都度課金課金作成時(課金の3-Dセキュア)※1
定期課金定期課金の初回課金作成時(課金の3-Dセキュア)
※1,2
リカーリングトークン(新規登録)トークン作成時(カード登録の3-Dセキュア)
既存リカーリングトークンへの課金しない
※3
※1 ワンタイム、定期課金トークンを作成した段階では3-Dセキュア認証は実行されません
※2 毎回のサイクル課金時は実行しません
※3 3-Dセキュア認証していないトークンの場合は課金の3-Dセキュアが求められます
  APIで課金を行う場合、5分以内にユーザーに認証を実行させない場合、課金が失敗します

3Dセキュアを実行しない例外的な決済方法

以下の種類の決済方法では3-Dセキュア認証の義務化対象外の為、当システムで3-Dセキュア認証は実行しません。

  • CVV認証時の1円オーソリ(リカーリングトークン作成時に認証が実行されるため)
  • サイクル毎の定期課金(初回処理は実行)
  • CSV課金(オプション)
    • 3-Dセキュア認証に失敗したリカーリングトークンには課金できません
  • コールセンター決済(オプション)
  • ラッパー機能利用時の一部の決済方法(別資料を参照してください)

※管理画面からのリカーリングトークンへの課金について

3-Dセキュア認証を利用開始すると、認証が行われていない既存のリカーリングトークン、認証に失敗したリカーリングトークンに対しては、管理画面上から課金できません。
3-Dセキュア対応後、消費者へカードの再登録の依頼をするか、CSV課金のオプションを代替案として利用して下さい。
※CSV課金機能を利用すると、認証を実行していない既存リカーリングトークンに対しての課金実行時に3-Dセキュア認証は行われません 

© All Rights Reserved by UNIVA Paycast Limited.