楽天ペイ
本ガイドについて
本ガイドの内容
本ガイドは、株式会社DGフィナンシャルテクノロジーが提供するVeriTrans4Gの「楽天ペイ(オンライン決済)V2」をインターネット店舗等でご利用いただくため、専用ソフトウェアMDK(Merchant Development Kit)を導入する開発者向けのガイドです。
概要
楽天ペイ(オンライン決済)V2は、楽天会員登録をした利用者が、加盟店様のサイトで購入された商品の代金を、楽天IDを利用して決済できるサービスです。
- 楽天IDとパスワードのみの簡単な支払い方法です。
-
利用者が楽天IDに登録したクレジットカードで決済されます。
- 決済の可否については、利用者のクレジットカードの与信状況によります。
-
楽天ポイントを利用した支払いが可能です。楽天以外の加盟店様サイトでのご利用でも楽天ポイントを貯めることができます。
- 楽天ポイントが貯まるのは、楽天カード・楽天ポイント・楽天キャッシュでのお支払いに限ります。
- PC/スマートフォンでの決済が可能です。
- 商材はデジタルコンテンツ/物販に対応しています。
-
サービスの導入には、楽天ペイメント株式会社との直接契約が必要です。
- ※弊社の収納代行サービス(包括加盟店契約)としてご提供はできません。
- 随時決済をご利用の場合は楽天ペイメント株式会社へ申請が必要です。
決済の画面遷移のイメージを以下に示します。

都度決済について
【都度決済機能】
消費者の購入した商品などについて、1回だけ決済を行います。
都度決済機能には以下の特徴があります。
- 都度決済の申込は、「課金種別」を未指定、あるいは都度決済を指定して行います。
- 都度決済の申込は、消費者の端末から行います。
- 与信取消、売上、売上後の返金はMDKまたは管理画面(MAP)から可能です。
随時決済について
【随時決済機能】
随時決済は定期購入商品/サービスの提供にのみご利用いただけます。
店舗様と利用者の継続的な利用の承諾に基づき、商品などの提供状況に応じて加盟店の処理要求単位に課金することができます。
- 随時決済の申込(利用承諾)は、「課金種別」に随時決済を指定し、都度決済と同様のフローで行います。
※申込フローでは利用承諾のみを行うため金額指定はできません。 - 随時決済の申込は、消費者の端末から行います。
- 課金する場合には、①の取引IDを元取引IDに指定し、新しい取引IDで再与信することにより金額を確保します。
※withCaptureを指定することで同時に売上処理も可能です。 - ③の取引IDに対して、与信変更、取消、売上を実施します。
再与信した取引の取消、売上はMDKまたは管理画面(MAP)から可能です。 - ③と④を何度でも実施できますが、一定期間(1年)再与信を行わなかった場合、再度申込(利用承諾)から実施していただきます。
MDKの処理概要
機能一覧(決済要求コマンド)
使用可能な決済要求コマンドを下記表に示します。
また、他随時決済に実装されている「解約」コマンドについてですが、将来的には実装される可能性がありますが、現在楽天側に機能が用意されていないため実装されておりません。
決済要求種類 /コマンド |
概要 | 都度 決済 |
随時 決済 |
---|---|---|---|
申込 (与信) /Authorize |
決済の申し込み(オーソリ)を要求します。 | ○ | - |
申込 (与信+売上) /Authorize |
決済の申し込み(オーソリ)と売上を同時に要求します。 | ○(※2) | - |
申込 (承諾) /Authorize |
利用承諾を要求します。 要求パラメータのaccountingTypeを1に設定し、随時決済の申込を行います。 |
- | ○ |
再与信 (与信) /ReAuthorize |
随時決済の利用承諾を取得した取引を元取引として、 再与信(オーソリ)を要求します。 |
- | ○ |
再与信 (与信+売上) /ReAuthorize |
随時決済の利用承諾を取得した取引を元取引として、 再与信(オーソリ)と売上を同時に要求します。 |
- | ○(※2) |
与信変更 /UpdateAuthorize |
売上前または与信取消(キャンセル)前の取引に対して与信の変更(与信期限延長、金額変更)を要求します。(※1) | ○ | ○ |
売上 /Capture |
申込済み取引の売上確定を要求します。(※1) オーソリ時の金額を超えない範囲で、売上金額を指定できます(部分売上)。 |
○ | ○ |
取消 /Cancel |
決済を取消(キャンセル)します。(※1) 売上前の取消については、全額取消となります。 売上後の取消については、売上金額を超えない範囲で、取消金額を指定できます(部分取消)。 |
○ | ○ |
※1 ご利用の際は、必ず「6-5 Authorize以降のコマンドに関する注意事項」をご参照ください。
※2 物品販売の場合は、商品を発送する前に売上を行うことは禁止されていますので、商品の発送後に売上を行うか、多少の前後は問題ございませんので、できる限り消費者への商品発送と同じタイミングで売上を行うようにしてください。楽天ペイ(オンライン決済)V2のレギュレーション事項となりますので、詳細は楽天ペイメント株式会社にお問い合わせください。
以下で各決済のコマンドの実施可能タイミングを図示します。
【都度決済】

【随時決済】
承諾状態が継続する限り、申込取引に対して再与信を繰り返し実施可能です。

決済処理シーケンス
【楽天ペイ(オンライン決済)V2:決済申込時の処理】

No. | 基本機能 | 処理説明 |
---|---|---|
1 | 決済申込要求 | ECサイト上の決済導入部に渡された決済申込情報を電文化し、決済サーバーに送信します。 |
2 | 結果応答の受信 | 決済サーバーから返戻された結果を受信します。結果が決済可能の場合、「3. リダイレクト指示」を実施します。消費者ブラウザに返す情報(※1)は決済サーバーより返戻された結果に含まれます。 |
3 | リダイレクト指示 | 決済サーバーにより返戻された情報を用いて、消費者ブラウザに楽天ペイ(オンライン決済)V2画面へのリダイレクト指示を送信します。 |
4 | 決済申込結果通知(PUSH) | リクエスト時に指定したPUSH通知先URL(未指定の場合は、MAP(Merchant Administration Portal)により設定した値)に、決済サーバーよりPOSTで通知されますので、決済結果を受け取り、注文データ等に反映します。 |
5 | 完了画面要求 | 消費者ブラウザから結果を受信し、完了画面を送信します。 消費者側の状況により通信断や誤ってブラウザを閉じる、といったケースではこのシーケンスは発生しませんが、4.申込結果通知(PUSH)を受信していれば、決済結果を取りこぼすことはありません。 |
※1 FormをSubmit(POST)するHTMLコンテンツが返戻されます。HTMLコンテンツには、Formを自動SubmitするJavaScriptが含まれていますので、そのまま消費者に送信すれば(JavaScriptを利用可能な端末では)自動で画面遷移します。
リダイレクト先のURLのみの返戻もあるので、そちらを使用して独自に遷移処理を作成いただいてもかまいません。
※2 処理結果応答失敗時に、消費者が支払情報を変更することで決済が成功する可能性がある場合、再度楽天の支払いページへのリダイレクトを指示し、消費者の申込を促します。
【楽天ペイ(オンライン決済)V2:再与信要求時の処理】

No. | 基本機能 | 処理説明 |
---|---|---|
1 | 再与信要求 | 再与信の対象となる取引情報を電文化し、決済サーバーに送信します。 |
2 | 結果応答 | 決済サーバーより与信変更の結果応答を受信し、結果情報を取得します。 |
【楽天ペイ(オンライン決済)V2:与信変更要求時の処理】

No. | 基本機能 | 処理説明 |
---|---|---|
1 | 与信変更要求 | 与信変更の対象となる取引情報を電文化し、決済サーバーに送信します。 |
2 | 結果応答 | 決済サーバーより与信変更の結果応答を受信し、結果情報を取得します。 |
【楽天ペイ(オンライン決済)V2:売上要求時の処理】

No. | 基本機能 | 処理説明 |
---|---|---|
1 | 売上要求 | 売上の対象となる取引情報を電文化し、決済サーバーに送信します。 |
2 | 結果応答 | 決済サーバーより売上の結果応答を受信し、結果情報を取得します。 |
【楽天ペイ(オンライン決済)V2:取消要求時の処理】

No. | 基本機能 | 処理説明 |
---|---|---|
1 | 取消要求 | 取消の対象となる取引情報を電文化し、決済サーバーに送信します。 |
2 | 結果応答 | 決済サーバーより取消の結果応答を受信し、結果情報を取得します。 |
結果通知受信処理
結果通知受信処理の対象
楽天ペイ(オンライン決済)V2の結果通知受信処理の対象は以下の機能です。
決済サービス名 | 決済申込 | 再与信 | 与信変更 | 売上 | 取消 | |
---|---|---|---|---|---|---|
楽天ペイ (オンライン決済)V2 |
都度 | ○ | × | - | △(※1) | △(※1) |
随時 | ○ | - | - | - | - |
通信電文仕様(共通部)および店舗受信後応答仕様は、『VeriTrans4G 開発ガイド(MDKモジュール方式)』をご参照ください。
楽天ペイ固有の通知電文インターフェイスにつきましては、「5.3.3結果通知項目」をご参照ください。
インターフェイス詳細
ここでは楽天ペイ(オンライン決済)V2サービスで利用するMDKインターフェイス項目を説明します。
-
「設定」欄の内容は以下の通りです。
- 要求電文 ...
- 必須項目:○ 任意項目:△ 設定不可:× その他条件付:※ (条件は説明欄、または欄外に記入)
- 応答電文 ...
- 必ず返戻:○ 処理成功時のみ返戻:△ 返戻なし:× その他条件付:※
-
orderId(取引ID)について
店舗で任意に採番してください。申込処理毎に付ける必要があります。他の取引IDと重複しないよう採番してください。他決済サービスとも重複できません。
また、テスト取引で使用した取引IDを、本番取引で再度使用することはできません。
取引IDには、半角英数字以外に"- "(ハイフン)、"_ "(アンダースコア)も使用可能です。
-
応答電文について
応答電文には、本書に記載されていないフィールド(パラメータ)も存在しますが、通常は、記載されているフィールド以外は加盟店様の方で意識する必要はございません
楽天ペイ(オンライン決済)V2
申込
要求電文 : RakutenAuthorizeRequestDto | |||||
---|---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 | |
都度 | 随時 | ||||
orderId | 取引ID | 半角英数字 100桁以内 | 店舗側で採番した取引IDを指定 | ○ | ○ |
payType | 決済種別 | 半角数字 1桁 | "2": オンライン決済(V2) 固定。 |
○ | ○ |
accountingType | 課金種別 | 半角数字 | 利用する決済方法の課金種別を指定 0: 都度(デフォルト値) 1: 随時 ※未指定の場合、"0"都度になります。 |
△ | ○ |
amount | 決済金額 | 半角数字 7桁以内 |
決済金額(合計金額)を指定
※楽天のレギュレーション上、最小金額は100円となっています。100円未満の決済が起こりうる場合には、必ず事前に楽天ペイメント株式会社にご相談ください。 |
○ | × |
withCapture | 売上フラグ | 右記参照 | "false": 与信のみ (デフォルト値) "true": 与信+売上 ※ 未指定の場合は、与信のみとなります。 ※ 物品販売の場合、trueは許可しません。 |
△ | × |
itemId | 商品ID | 半角英数字 64桁以内 |
店舗側で発番する商品またはサービスの管理用番号を指定 | △ | × |
itemName | 商品名 | 全角半角 | 商品名を指定 都度決済の場合は、300文字以内。 随時決済の場合は、200文字以内。 ※楽天の管理画面に表示されます。 ※都度の場合は、楽天の項目「description」にあたります。不正注文対策として購入商品情報を楽天指定のフォーマットでセットしてください。詳細は楽天ペイメント株式会社が規定するレギュレーションをご参照ください。 ※随時の場合は、楽天の項目「name」にあたります。サービス/商品名が変更された場合でも、値の修正は後から行えませんのでご承知おきください。 |
△ | ○ |
successUrl | 決済完了時URL | URLに使用可能な半角文字 1024桁以内 |
決済成功時に、店舗側サイトに画面遷移を戻すためのURLを指定(クエリパラメータ指定可)
※未指定の場合は、管理画面(MAP)で設定した値を使用 |
△ | △ |
errorUrl | 決済エラー時URL | URLに使用可能な半角文字 1024桁以内 |
決済エラー/保留時に、店舗側サイトに画面遷移を戻すためのURLを指定(クエリパラメータ指定可) ※未指定の場合は、管理画面(MAP)で設定した値を使用 ※決済保留(mstatus=pending)時は、対象取引が成功である可能性があるため、消費者への表示や通知の内容はご注意ください。 |
△ | △ |
pushUrl | プッシュURL | URLに使用可能な半角文字 1024桁以内 |
結果通知のプッシュURLを指定(クエリパラメータ指定可)
※未指定の場合は、管理画面(MAP)で設定した値を使用 |
△ | △ |
応答電文 : RakutenAuthorizeResponseDto | |||||
---|---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 | |
都度 | 随時 | ||||
serviceType | 決済サービスタイプ | 半角英数字 10桁以内 |
要求電文を送信した決済サービスタイプ | ○ | ○ |
mstatus | 処理結果コード | 半角英数字 32文字以内 |
"success":正常終了 "failure":異常終了 |
○ | ○ |
vResultCode | 詳細結果コード | 半角英数字 16文字 |
処理の結果を詳細に表すコード 4桁ずつ4つのブロックで構成され、各ブロックでサービス毎の処理結果を表します。 詳細は『結果コード一覧』を参照ください。 |
○ | ○ |
merrMsg | エラーメッセージ | 文字列 1024 バイト以内 |
処理結果を日本語で表示 | ○ | ○ |
marchTxn | 電文ID | 文字列 100桁以内 |
決済サーバーにて決済処理電文(内部処理も含む)毎に付与するID 1つの取引IDに対して、複数のIDが付与されます。 |
○ | ○ |
orderId | 取引ID | 半角英数字 100文字以内 |
決済要求時に店舗様にて任意に採番し送信された取引ID | ○ | ○ |
custTxn | 取引毎に付くID | 文字列 100桁以内 |
決済サーバーがオーダー(取引ID)と紐付けるために採番するID | ○ | ○ |
txnVersion | MDK バージョン | 半角英数字5桁 | 電文のバージョン 問題発生時などに用いますが、通常ご利用になることはありません。 |
○ | ○ |
responseContents | レスポンス コンテンツ |
文字列 | 楽天の支払い画面に遷移するためのHTMLコンテンツ。 自動で楽天が提供するページに遷移するためのJavaScriptを含みますので、そのままの内容を消費者のブラウザに返戻するようにしてください。この時、コンテンツの文字コードは必ずUTF-8に設定してください。 |
△ | △ |
redirectUrl | リダイレクトURL | 文字列 | 楽天の支払い画面に遷移するためのURL レスポンスコンテンツを利用しない場合はこのURLに対し302リダイレクトを行ってください。 |
△ | △ |
rakutenOrderId | 楽天取引ID | 文字列 14桁 |
決済センターが取引毎に発番するID
※楽天の利用履歴・メール本文に表示されます。 |
△ | × |
gatewayOrderId | 決済取引ID | 文字列 20桁 |
決済サーバーが取引毎に発番するID | △ | × |
rakutenConsentOrderId | 楽天承諾時取引ID | 文字列 15桁 |
決済センターが随時決済承諾時に発番するID | × | △ |
消費者ブラウザから店舗側の完了画面へリダイレクトする時のクエリパラメータ
リダイレクト受信内容:決済サーバーから消費者ブラウザ経由で店舗へリダイレクト(GET)される内容 | |||||
---|---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 | |
都度 | 随時 | ||||
mstatus | 処理結果コード | 半角英数字 32 文字以内 |
"success":正常終了 "failure":異常終了 "pending":保留 |
○ | ○ |
vResultCode | 詳細結果コード | 半角英数4桁 | 処理の結果を詳細に表すコード 詳細は『結果コード一覧』を参照ください。 |
○ | ○ |
orderId | 取引ID | 半角英数字 100文字以内 |
決済要求時に店舗様にて任意に採番し送信された取引ID | ○ | ○ |
command | コマンド | 文字列 右記参照 |
決済申込結果であることを示す、以下の文字列が設定されます。 "Authorize" |
○ | ○ |
rakutenOrderId | 楽天取引ID | 文字列14桁 | 楽天ペイ(オンライン決済)V2側で発番された取引を一意に表すID | △ | × |
gatewayOrderId | 決済取引ID | 文字列20桁 | 決済サーバーが取引毎に発番するID | △ | × |
rakutenConsentOrderId | 楽天承諾時取引ID | 文字列15桁 | 決済センターが随時決済承諾時に発番するID | × | △ |
customerId | 顧客ID | 文字列14桁 | ユーザーを一意に特定できるID(楽天ペイが採番するID) | △ | △ |
usedPoint | 利用ポイント | 半角数字 7桁以内 |
利用されたポイント | △ | × |
cardBrand | クレジットカードのブランド | 文字列16桁以内 | クレジットカードのブランド | △ | × |
cardLast4 | クレジットカード番号の下4桁 | 半角数字4桁 | クレジットカード番号の下4桁 | △ | × |
cardInstallments | 分割払いの回数 | 半角数字2桁以内 | クレジットカードの分割払いの回数 | △ | × |
cardCvc | セキュリティコード認証利用有無 | 右記参照 | セキュリティコード認証利用有無 "true":利用 "false":利用していない |
△ | × |
card3ds | 3D セキュア認証利用有無 | 右記参照 | 3D セキュア認証利用有無 "true":利用 "false":利用していない |
△ | × |
transactionDatetime | 取引成立日時 | 文字列14桁 | 決済センターで決済が確定した日時。 YYYYMMDDhhmmss形式 |
△ | × |
cancelExpirationTime | 取消受付期限 | 文字列14桁 | 取消の受付期限。 YYYYMMDDhhmmss形式 |
△ | × |
captureExpirationTime | 売上受付期限 | 文字列14桁 | 売上の受付期限。 YYYYMMDDhhmmss形式 |
△ | × |
updateExpirationTime | 金額変更受付期限 | 文字列14桁 | 金額変更の受付期限。 YYYYMMDDhhmmss形式 ※この期限は、「UpdateAuthorizeの金額変更」「Captureの部分売上」「Cancelの部分取消」が対象となります。 |
△ | × |
extendAuthExpirationTime | 与信延長受付期限 | 文字列14桁 | 与信延長の受付期限。 YYYYMMDDhhmmss形式 |
△ | × |
vAuthInfo | 改ざんチェック用 ハッシュ値 |
文字列 右記参照 |
下記文字列を連結し、SHA-256によって算出したハッシュ値 ・マーチャントCCID ・パラメータ値の連結文字列(authParams が示す順序で連結) ・パスワード なお、パラメータ値を連結する際は、パラメータ名や区切り文字は含めず、パラメータ値のみを連結しています。連結した文字列をバイナリに変換する際の文字エンコーディングは、UTF-8を使用しています。 |
○ | ○ |
authParams | ハッシュ値算出パラメータ順序 | 文字列 右記参照 |
vAuthInfo のハッシュ値を算出する元とした文字列の、パラメータの連結順序を示す値 パラメータ名のカンマ区切り文字列をBase64エンコードしています。デコードを行うと文字列が復元されます。 例) "orderId,vResultCode,mstatus" "mstatus,orderId,vResultCode" (順不同のため、リクエスト受信のたびに動的に処理してください。) |
○ | ○ |
決済サーバーから消費者ブラウザを経由して店舗側の結果画面に遷移(リダイレクト)しますが、ここで店舗側システムが受け取ったクエリパラメータが改ざんされていないことを検証するためのパラメータが、vAuthInfoとauthParamsです。
店舗側システムで算出したハッシュ値が、クエリパラメータより取得したvAuthInfoと一致している場合は、パラメータは改ざんされていない、とみなすことができます。
この改ざんチェックは必須ではありませんが、悪意を持った第三者によって、不正なリダイレクト電文を受信する可能性がありますので、実装を強く推奨しています。
実装方法の詳細につきましては、弊社より提供しているサンプルプログラムをご参照ください。
再与信
要求電文 : RakutenReAuthorizeRequestDto | ||||
---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 |
orderId | 取引ID | 半角英数字100桁以内 | 上記「orderId(取引ID)について」参照 | ○ |
originalOrderId | 元取引ID | 半角英数字100桁以内 | 随時決済の決済申込時に指定した取引IDを指定 | ○ |
amount | 決済金額 | 半角数字 7桁以内 |
決済金額(合計金額)を指定
※楽天のレギュレーション上、最小金額は100円となっています。100円未満の決済が起こりうる場合には、必ず事前に楽天ペイメント株式会社にご相談ください。 |
○ |
withCapture | 与信同時売上フラグ | 右記参照 | "true" :与信+売上 "false" :与信のみ(デフォルト値) ※未指定の場合は、与信のみとなります。 |
△ |
itemId | 商品ID | 半角英数字 64桁以内 |
店舗側で発番する商品またはサービスの管理用番号を指定 | △ |
itemName | 商品名 | 全角半角 300文字以内 |
商品名を指定
※楽天の管理画面に表示されます。 ※楽天の項目「description」にあたります。不正注文対策として購入商品情報を楽天指定のフォーマットでセットしてください。詳細は楽天ペイメント株式会社が規定するレギュレーションをご参照ください。 ※未指定の場合は、随時決済の決済申込時に指定した取引の「itemName」を設定します。 |
△ |
応答電文 : RakutenReAuthorizeResponseDto | ||||
---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 |
serviceType | 決済サービスタイプ | 半角英数字 10桁以内 |
要求電文を送信した決済サービスタイプ | ○ |
mstatus | 処理結果コード | 半角英数字 32 文字以内 |
"success":正常終了 "failure":異常終了 "pending":保留 |
○ |
vResultCode | 詳細結果コード | 半角英数字 16 文字 |
処理の結果を詳細に表すコード 4桁ずつ4つのブロックで構成され、各ブロックでサービス毎の結果を表します。 詳細は『結果コード一覧』を参照ください。 |
○ |
merrMsg | エラーメッセージ | 文字列 1024 byte以内 |
処理結果を日本語で表示 | ○ |
marchTxn | 電文ID | 文字列 100桁以内 |
決済サーバーにて決済処理電文(内部処理も含む)毎に付与するID 1つの取引IDに対して、複数のIDが付与されます。 |
○ |
orderId | 取引ID | 半角英数字 100桁以内 |
再与信要求時に店舗様にて任意に採番し送信された取引ID | ○ |
custTxn | 取引毎に付くID | 文字列 100桁以内 |
決済サーバーがオーダー(取引ID)と紐付けるため為に採番するID | ○ |
txnVersion | MDK バージョン | 半角英数字5桁 | 電文のバージョン 問題発生時などに用いますが、通常ご利用になることはありません。 |
○ |
originalOrderId | 元取引ID | 半角英数字 100桁以内 |
再与信要求時に指定された随時決済の決済申込時に指定した取引ID | ○ |
rakutenOrderId | 楽天取引ID | 文字列14桁 | 楽天ペイ(オンライン決済)V2側で発番された取引を一意に表すID | △ |
gatewayOrderId | 決済取引ID | 文字列20桁 | 決済サーバーが取引毎に発番するID | △ |
rakutenConsentOrderId | 楽天承諾時取引ID | 文字列15桁 | 決済センターが随時決済承諾時に発番するID | △ |
customerId | 顧客ID | 文字列14桁 | ユーザーを一意に特定できるID(楽天ペイが採番するID) | △ |
usedPoint | 利用ポイント | 半角数字 7桁以内 |
利用されたポイント | △ |
cardBrand | クレジットカードのブランド | 文字列16桁以内 | クレジットカードのブランド | △ |
cardLast4 | クレジットカード番号の下4桁 | 半角数字4桁 | クレジットカード番号の下4桁 | △ |
cardInstallments | 分割払いの回数 | 半角数字2桁以内 | クレジットカードの分割払いの回数 | △ |
cardCvc | セキュリティコード認証利用有無 | 右記参照 | セキュリティコード認証利用有無 "true":利用 "false":利用していない |
△ |
card3ds | 3D セキュア認証利用有無 | 右記参照 | 3D セキュア認証利用有無 "true":利用 "false":利用していない |
△ |
transactionDatetime | 取引成立日時 | 文字列14桁 | 決済センターで決済が確定した日時。 YYYYMMDDhhmmss形式 |
△ |
cancelExpirationTime | 取消受付期限 | 文字列14桁 | 取消の受付期限。 YYYYMMDDhhmmss形式 |
△ |
captureExpirationTime | 売上受付期限 | 文字列14桁 | 売上の受付期限。 YYYYMMDDhhmmss形式 |
△ |
updateExpirationTime | 金額変更受付期限 | 文字列14桁 | 金額変更の受付期限。 YYYYMMDDhhmmss形式 ※この期限は、「UpdateAuthorizeの金額変更」「Captureの部分売上」「Cancelの部分取消」が対象となります。 |
△ |
extendAuthExpirationTime | 与信延長受付期限 | 文字列14桁 | 与信延長の受付期限。 YYYYMMDDhhmmss形式 |
△ |
与信変更
要求電文 : RakutenUpdateAuthorizeRequestDto | ||||
---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 |
orderId | 取引ID | 半角英数字 100桁以内 |
与信変更対象の取引IDを指定 ※随時決済取引の場合は再与信を行った取引IDを指定します。 |
○ |
amount | 変更金額 | 半角数字 7桁以内 |
変更する金額を指定。 ※未指定時は金額変更を行いません。 |
△ |
authExtensionFlag | 与信延長フラグ | 右記参照 | "true":行う "false":行わない ※指定がない場合は、「行わない」となります。 与信期限を延長する場合は「true」としてください |
△ |
応答電文 : RakutenUpdateAuthorizeResponseDto | ||||
---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 |
serviceType | 決済サービスタイプ | 半角英数字 10桁以内 |
要求電文を送信した決済サービスタイプ | ○ |
mstatus | 処理結果コード | 半角英数字 32 文字以内 |
"success":正常終了 "failure":異常終了 "pending":保留 |
○ |
vResultCode | 詳細結果コード | 半角英数字 16 文字 |
処理の結果を詳細に表すコード 4桁ずつ4つのブロックで構成され、各ブロックでサービス毎の処理結果を表します。 詳細は『結果コード一覧』を参照ください。 |
○ |
merrMsg | エラーメッセージ | 文字列 1024 バイト以内 |
処理結果を日本語で表示 | ○ |
marchTxn | 電文ID | 文字列 100桁以内 |
決済サーバーにて決済処理電文(内部処理も含む)毎に付与するID 1つの取引IDに対して、複数のIDが付与されます。 |
○ |
orderId | 取引ID | 半角英数字 100 文字以内 |
決済要求時に店舗様にて任意に採番し送信された取引ID | ○ |
custTxn | 取引毎に付くID | 文字列 100桁以内 |
決済サーバーがオーダー(取引ID)と紐付けるために採番するID | ○ |
txnVersion | MDK バージョン | 半角英数字5桁 | 電文のバージョン 問題発生時などに用いますが、通常ご利用になることはありません。 |
○ |
transactionDatetime | 取引成立日時 | 文字列14桁 | 決済センターで決済が確定した日時 YYYYMMDDhhmmss形式 |
△ |
rakutenOrderId | 楽天取引ID | 文字列14桁 | 決済センターが取引毎に発番するID | ※ |
gatewayOrderId | 決済取引ID | 文字列20桁 | 決済サーバーが取引毎に発番するID | ※ |
amount | 金額 | 半角数字 7桁以内 |
金額 | ※ |
usedPoint | 利用ポイント | 半角数字 7桁以内 |
利用されたポイント | ※ |
cancelExpirationTime | 取消受付期限 | 文字列14桁 | 取消の受付期限。 YYYYMMDDhhmmss形式 |
※ |
captureExpirationTime | 売上受付期限 | 文字列14桁 | 売上の受付期限。 YYYYMMDDhhmmss形式 |
※ |
updateExpirationTime | 金額変更受付期限 | 文字列14桁 | 金額変更の受付期限。 YYYYMMDDhhmmss形式 ※この期限は、「UpdateAuthorizeの金額変更」「Captureの部分売上」「Cancelの部分取消」が対象となります。 |
※ |
extendAuthExpirationTime | 与信延長受付期限 | 文字列14桁 | 与信延長の受付期限。 YYYYMMDDhhmmss形式 |
※ |
※基本的に処理成功時に返戻する項目ですが、処理失敗時も楽天から連携された場合には返戻します。
売上
要求電文 : RakutenCaptureRequestDto | ||||
---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 |
orderId | 取引ID | 半角英数字 100桁以内 |
売上対象の取引IDを指定 ※随時決済取引の場合は再与信を行った取引IDを指定します。 |
○ |
amount | 売上金額 | 半角数字 7桁以内 |
売上金額を指定
※未指定時は全額売上となります。 ※楽天のレギュレーション上、最小金額は100円となっています。100円未満の決済が起こりうる場合には、必ず事前に楽天ペイメント株式会社にご相談ください。 |
△ |
応答電文 : RakutenCaptureResponseDto | ||||
---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 |
serviceType | 決済サービスタイプ | 半角英数字 10桁以内 |
要求電文を送信した決済サービスタイプ | ○ |
mstatus | 処理結果コード | 半角英数字 32 文字以内 |
"success":正常終了 "failure":異常終了 "pending":保留 |
○ |
vResultCode | 詳細結果コード | 半角英数字 16 文字 |
処理の結果を詳細に表すコード 4桁ずつ4つのブロックで構成され、各ブロックでサービス毎の処理結果を表します。 詳細は『結果コード一覧』を参照ください。 |
○ |
merrMsg | エラーメッセージ | 文字列 1024 バイト以内 |
処理結果を日本語で表示 | ○ |
marchTxn | 電文ID | 文字列 100桁以内 |
決済サーバーにて決済処理電文(内部処理も含む)毎に付与するID 1つの取引IDに対して、複数のIDが付与されます。 |
○ |
orderId | 取引ID | 半角英数字 100 文字以内 |
決済要求時に店舗様にて任意に採番し送信された取引ID | ○ |
custTxn | 取引毎に付くID | 文字列 100桁以内 |
決済サーバーがオーダー(取引ID)と紐付けるために採番するID | ○ |
txnVersion | MDK バージョン | 半角英数字5桁 | 電文のバージョン 問題発生時などに用いますが、通常ご利用になることはありません。 |
○ |
transactionDatetime | 取引成立日時 | 文字列14桁 | 決済センターで決済が確定した日時 YYYYMMDDhhmmss形式 |
△ |
rakutenOrderId | 楽天取引ID | 文字列14桁 | 決済センターが取引毎に発番するID | △ |
gatewayOrderId | 決済取引ID | 文字列20桁 | 決済サーバーが取引毎に発番するID | △ |
usedPoint | 利用ポイント | 半角数字 7桁以内 |
利用されたポイント | △ |
取消
要求電文 : RakutenCancelRequestDto | ||||
---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 |
orderId | 取引ID | 半角英数字 100桁以内 |
取消対象の取引IDを指定 ※随時決済取引の場合は再与信を行った取引IDを指定します。 |
○ |
amount | 減額金額 | 半角数字 7桁以内 |
減額する金額を指定。 ※未指定の場合は全額取消となります。 ※売上前の場合は全額以外を指定できません。 |
※ |
応答電文 : RakutenCancelResponseDto | ||||
---|---|---|---|---|
フィールド名 | 項目名 | 書式・制限 | 説明 | 設定 |
serviceType | 決済サービスタイプ | 半角英数字 10桁以内 |
要求電文を送信した決済サービスタイプ | ○ |
mstatus | 処理結果コード | 半角英数字 32 文字以内 |
"success":正常終了 "failure":異常終了 "pending":保留 |
○ |
vResultCode | 詳細結果コード | 半角英数字 16 文字 |
処理の結果を詳細に表すコード 4桁ずつ4つのブロックで構成され、各ブロックでサービス毎の処理結果を表します。 詳細は『結果コード一覧』を参照ください。 |
○ |
merrMsg | エラーメッセージ | 文字列 1024 バイト以内 |
処理結果を日本語で表示 | ○ |
marchTxn | 電文ID | 文字列 100桁以内 |
決済サーバーにて決済処理電文(内部処理も含む)毎に付与するID 1つの取引IDに対して、複数のIDが付与されます。 |
○ |
orderId | 取引ID | 半角英数字 100 文字以内 |
決済要求時に店舗様にて任意に採番し送信された取引ID | ○ |
custTxn | 取引毎に付くID | 文字列 100桁以内 |
決済サーバーがオーダー(取引ID)と紐付けるために採番するID | ○ |
txnVersion | MDK バージョン | 半角英数字5桁 | 電文のバージョン 問題発生時などに用いますが、通常ご利用になることはありません。 |
○ |
balance | 残高 | 半角数字 7桁以内 |
現在の決済金額 ※部分取消の場合は、元の売上金額から取消金額を差し引いた金額が設定される。 |
△ |
transactionDatetime | 取引成立日時 | 文字列14桁 | 決済センターで決済が確定した日時 YYYYMMDDhhmmss形式 |
△ |
rakutenOrderId | 楽天取引ID | 文字列14桁 | 決済センターが取引毎に発番するID | △ |
gatewayOrderId | 決済取引ID | 文字列20桁 | 決済サーバーが取引毎に発番するID | △ |
usedPoint | 利用ポイント | 半角数字 7桁以内 |
利用されたポイント | △ |
共通
検索
-
「設定」欄の内容は以下の通りとなります。
- 要求電文 ...
- 必須項目:○ 任意項目:△ 設定不可:× その他条件付:※(条件は説明欄に記入)
- 応答電文 ...
- 必ず返戻:○ 該当取引存在時に返戻:△ 返戻なし:× その他条件付:※
-
複数指定は0~の添字を指定します。
例)exparam.serviceTypeCd[0]=card&exparam.serviceTypeCd[1]=rakuten -
ワイルドカードは値の一部と"*"を組み合わせて検索します。"*"のみの指定はできません。
例)exparam.searchParameters.common.orderId=123* -
通常の検索の他、マスタ情報取得が可能です。マスタ情報取得時のインターフェイスは後記します。
要求電文 : SearchRequestDto | |||||||
---|---|---|---|---|---|---|---|
※以下は、共通の検索要求フィールドです。 |
|||||||
検索フィールド名 | 検索項目名 | 書式・制限 | 複数 指定 |
ワイルド カード |
説明 | 設定 | |
requestId | リクエストID | 半角英数字記号128文字以内 | リクエストIDを指定します。指定した場合は、それ以外のパラメータは指定できなくなります。 | △ | |||
serviceTypeCd | 決済サービスタイプ | 右記参照 | ○ |
検索対象の決済を指定します。未指定の場合は、全決済が検索対象となります。 "rakuten": 楽天ペイ(オンライン決済)V2 |
△ | ||
newerFlag | 最新トランザクションフラグ | 右記参照 |
成功、失敗に関係なく、最新トランザクションのみを検索する場合に使用します。 "true": 1取引内の最新トランザクションのみ検索 "false": すべてのトランザクションを検索 ※指定しない場合は"false"になります。 |
△ | |||
containDummyFlag | ダミー決済対象フラグ | 右記参照 |
ダミー取引も検索する場合に使用します。 "true": ダミー取引も検索する "false": ダミー取引は検索しない ※指定しない場合は"false"になります。 |
△ | |||
maxCount | 検索最大件数 | 1~1000 |
取得したい検索結果の最大件数です。未指定の場合、最大値となります。
※短時間で大量の検索を繰り返すような処理はサーバーに負荷が掛かりますのでご遠慮いただけますようお願いします。 |
△ | |||
common 共通 | |||||||
orderId | 取引ID | 半角英数字100桁以内 | ○ | 検索したい取引IDを指定します。 | △ | ||
orderStatus | 取引決済状態 | 右記参照 | ○ |
以下のいずれかを指定します。 " initial ":初期状態 " end ":終了 " end_presentation ":画面遷移正常終了 " pending ":保留 " validation_error ":検証エラー " expired ":期限切れ " error ":エラー |
△ | ||
command | コマンド | 右記参照 | ○ |
決済で使用するコマンドを指定します。 " Authorize ": 申込(与信)/申込(与信+売上)/申込(承諾) "ReAuthorize":再与信 " UpdateAuthorize ":与信変更 " Capture ":売上 " Cancel ":取消 |
△ | ||
mstatus | ステータスコード | 右記参照 | ○ |
決済結果として返戻されるステータスコードを指定します。 " success ":成功 " failure ":失敗 " pending ":保留 |
△ | ||
txnDatetime.from | 取引日(From) | 文字列12桁 |
取引日時の範囲(From)を指定します。 YYYYMMDDhhmm形式 |
△ | |||
txnDatetime.to | 取引日(To) | 文字列12桁 |
取引日時の範囲(To)を指定します。 YYYYMMDDhhmm形式 |
△ | |||
amount.from | 金額(From) | 数字12桁以内 | 決済金額の範囲(From)を指定します。 | △ | |||
amount.to | 金額(To) | 数字12桁以内 | 決済金額の範囲(To)を指定します。 | △ | |||
※ 以下は、楽天ペイ(オンライン決済)V2固有の検索要求フィールドです。 |
|||||||
rakuten 楽天ペイ(オンライン決済)V2 | |||||||
detailOrderType | 詳細オーダー決済状態 | 右記参照 | ○ |
※「detailOrderType」の詳細については、6-10 検索(Search)に関する補足(詳細コマンドタイプ/詳細オーダー決済状態/承諾状態)を参照。 |
△ | ||
detailCommandType | 詳細コマンドタイプ | 右記参照 | ○ |
※「detailCommandType」の詳細については、6-10 検索(Search)に関する補足(詳細コマンドタイプ/詳細オーダー決済状態/承諾状態)を参照。 |
△ | ||
payType | 決済種別 |
半角数字 1桁 |
○ | "2": オンライン決済(V2) | △ | ||
accountingType | 課金種別 | 半角数字 1桁 |
決済申込時に指定した課金種別 "0":都度決済 "1":随時決済 |
△ | |||
consentStatus | 承諾状態 | 右記参照 | ○ |
※「consentStatus」の詳細については、6-10 検索(Search)に関する補足(詳細コマンドタイプ/詳細オーダー決済状態/承諾状態)を参照。 |
△ | ||
originalOrderId | 元取引ID | 半角英数字100桁以内 | ○ | 検索したい元取引IDを指定します。 | △ |
応答電文 : SearchResponseDto | |||||||||
---|---|---|---|---|---|---|---|---|---|
※ 以下は、共通の検索結果フィールドです。 |
|||||||||
検索フィールド名 | 検索項目名 | 書式・制限 | 説明 | 設定 | |||||
result | 処理結果 | - | ○ | ||||||
serviceType | サービスタイプ | 右記参照 | "search" | ○ | |||||
mstatus | 処理結果コード | 半角英数字32文字以内 | 処理の結果ステータスが格納されます。 "success":正常終了 "failure":異常終了 "pending":保留 |
○ | |||||
vResultCode | 詳細結果コード | 半角英数字16文字 | 処理の結果を詳細に表すコードとなります。 詳細は『結果コード一覧』を参照ください。 |
○ | |||||
merrMsg | エラーメッセージ | 文字列1024 バイト以内 | 処理結果を日本語で表示します。 | △ | |||||
overMaxCountFlag | 最大件数超えフラグ | 右記参照 | 検索対象データが要求電文で指定した検索最大件数より多いかどうかを表します。 "true": 最大件数以上 "false": 最大件数未満 |
△ | |||||
searchCount | 検索結果件数 | 0~1000 | 検索結果件数(オーダー件数)が格納されます。 | △ | |||||
orderInfos | オーダー情報リスト | 複数のオーダー情報(orderInfo)が格納されます。 | △ | ||||||
orderInfo | オーダー情報 | - | 検索条件に該当した取引の情報が該当件数分繰り返されます。0~1000件(要求電文で指定した検索最大件数まで)となります。 | △ | |||||
index | インデックス | 0~999 | 検索された情報のインデックスが格納されます。 | △ | |||||
serviceTypeCd | 決済サービスタイプ | 右記参照 | 決済の種類が格納されます。 "rakuten": 楽天ペイ(オンライン決済)V2 |
△ | |||||
orderId | 取引ID | 文字列 | 取引の取引IDが格納されます。 | △ | |||||
orderStatus | 取引決済状態 | 右記参照 |
決済の状態が格納されます。 ※このフィールドは、取引IDに関連する注文データの状態を完全に表現するものではありません。サービスタイプによっては詳細な状態遷移を別のフィールドに保持している場合がありますので、店舗側システムの用途に合わせてsuccessDetailTxnTypeや、決済固有の状態フィールドをご参照ください。 |
△ | |||||
lastSuccessTxnType | 最終成功トランザクションタイプ | 文字列 | 直近の成功したコマンド名が格納されます。 | △ | |||||
successDetailTxnType | 詳細トランザクションタイプ | 文字列 | 取引の詳細な状態が格納されます。 検索要求電文の各決済の detailOrderType参照。 |
△ | |||||
properOrderInfo | 固有オーダー情報 | - | 各決済サービスの固有オーダー情報が格納されます。後述の一覧参照。 | △ | |||||
transactionInfos | 決済トランザクションリスト | - | 複数の決済トランザクション情報(transactionInfo)が格納されます。 | △ | |||||
transactionInfo | 決済トランザクション情報 | - | 検索条件に該当した取引の情報が該当件数分繰り返されます。 | △ | |||||
txnId | トランザクション管理ID | 文字列 | 決済サーバーが採番する管理IDとなります。 | △ | |||||
command | コマンド | 文字列 | 実行されたコマンド名が格納されます。 ※MDKで要求したコマンドだけでなく、決済サーバーの内部処理コマンドも含まれます。 |
△ | |||||
mstatus | 処理結果コード | 半角英数字32 文字以内 | 処理の結果ステータスが格納されます。 "success":正常終了 "failure":異常終了 "pending":保留 |
△ | |||||
vResultCode | 詳細結果コード | 文字列16桁 | 処理の結果を詳細に表すコードとなります。 詳細は『結果コード一覧』を参照ください。 |
△ | |||||
txnDatetime | 取引日時 | 文字列23桁 | 取引日時が格納されます。 YYYY-MM-DD hh:mi:ss.mmm形式 |
△ | |||||
amount | 金額 | 半角数字12桁以内 | 決済した金額が格納されます。 | △ | |||||
properTransactionInfo | 固有トランザクション情報 | - | 各決済サービスの固有トランザクション情報が格納されます。後述の一覧参照。 | △ | |||||
☆ 以下の情報は、上記 「固有オーダー情報」 「固有トランザクション情報」 内の階層にセットされます。 |
|||||||||
※ 以下は、楽天ペイ(オンライン決済)V2固有の検索結果フィールドです。 |
|||||||||
properOrderInfo | 楽天ペイ(オンライン決済)V2 固有オーダー情報 | ||||||||
withCapture | 与信同時売上フラグ | 文字列 | 決済申込時に指定した与信同時売上フラグ | △ | |||||
itemName | 商品名 | 文字列 | 決済申込時に指定した商品名 | △ | |||||
itemId | 商品ID | 文字列 | 決済申込時に指定した商品ID | △ | |||||
authorizeAmount | 申込金額 | 半角数字7桁以内 | 決済申込時に指定した金額 | △ | |||||
balance | 残高 | 半角数字7桁以内 | 残高(現在の決済金額) | △ | |||||
usedPoint | 楽天ポイント利用額 | 半角数字7桁以内 | 楽天ポイント利用額(参考値) | △ | |||||
authorizeDatetime | 決済申込日時 | 文字列14桁 | 決済申込日時 YYYYMMDDhhmmss形式 |
△ | |||||
rakutenOrderId | 楽天オーダーID | 文字列14桁 |
楽天側で発番された取引ID
※楽天様ご提供管理画面(Dashboard)では「注文番号」に該当 |
△ | |||||
gatewayOrderId | 決済取引ID | 文字列 20桁 |
決済サーバーが取引毎に発番するID | △ | |||||
cardBrand | クレジットカードのブランド | 文字列 16桁以内 |
クレジットカードのブランド | △ | |||||
cardLast4 | クレジットカード番号の下4桁 | 半角数字4桁 | クレジットカード番号の下4桁 | △ | |||||
cardInstallments | 分割払いの回数 | 半角数字2桁以内 | クレジットカードの分割払いの回数 | △ | |||||
cardCvc | セキュリティコード認証利用有無 | 右記参照 | "true":利用 "false":利用していない セキュリティコード認証利用有無 |
△ | |||||
card3ds | 3D セキュア認証利用有無 | 右記参照 | "true":利用 "false":利用していない 3D セキュア認証利用有無 |
△ | |||||
cancelExpirationTime | 取消受付期限 | 文字列14桁 | 取消の受付期限。 YYYYMMDDhhmmss形式 |
△ | |||||
captureExpirationTime | 売上受付期限 | 文字列14桁 | 売上の受付期限。 YYYYMMDDhhmmss形式 |
△ | |||||
updateExpirationTime | 金額変更受付期限 | 文字列14桁 |
金額変更の受付期限。 YYYYMMDDhhmmss形式 ※この期限は、「UpdateAuthorizeの金額変更」「Captureの部分売上」「Cancelの部分取消」が対象となります。 |
△ | |||||
extendAuthExpirationTime | 与信延長受付期限 | 文字列14桁 | 与信延長の受付期限。 YYYYMMDDhhmmss形式 |
△ | |||||
accountingType | 課金種別 | 文字列 | 決済申込時に指定した課金種別 "0":都度決済 "1":随時決済 | △ | |||||
consentStatus | 承諾状態 | 右記参照 |
※「consentStatus」の詳細については、6-9検索(Search)に関する補足(詳細コマンドタイプ/詳細オーダー決済状態/承諾状態)を参照。 ※随時決済の場合のみ返戻されます。 |
※ | |||||
originalOrderId | 元取引ID | 文字列 | 随時決済の申込で指定した取引ID
※随時決済の場合のみ返戻されます。 |
※ | |||||
rakutenConsentOrderId | 楽天承諾時取引ID | 文字列15桁 | 決済センターが随時決済承諾時に発番するID
※随時決済利用時のみ。 |
※ | |||||
customerId | 顧客ID | 文字列14桁 | ユーザーを一意に特定できるID(楽天ペイが採番するID) | △ | |||||
properTransactionInfo | 楽天ペイ(オンライン決済)V2 固有トランザクション情報 | ||||||||
rakutenApiErrorCode | 楽天APIエラーコード | 文字列 128桁以内 | 楽天側システムから返却されたエラーコードが格納されます。 | △ | |||||
rakutenApiErrorType | 楽天APIエラータイプ | 文字列 128桁以内 | 楽天側システムから返却されたエラータイプが格納されます。 | △ | |||||
detailCommandType | 詳細コマンドタイプ | 文字列 |
※「detailCommandType」の詳細については、6-10 検索(Search)に関する補足(詳細コマンドタイプ/詳細オーダー決済状態/承諾状態)を参照 |
△ | |||||
rakutenRequestDatetime | 楽天への要求日時 | 文字列14文字 | 楽天への要求日時が格納されます。 YYYYMMDDhhmmss形式 |
△ | |||||
rakutenResponseDatetime | 楽天からの返戻日時 | 文字列14文字 | 楽天からの返戻日時が格納されます。 YYYYMMDDhhmmss形式 |
△ |
結果通知電文
結果通知電文の概要
実装方法の詳細につきましては、弊社より提供しているサンプルプログラムをご参照ください。
機能概要
決済サーバーから店舗システムへ決済の結果通知を行います。
通知は、HTTPのPOSTを利用します。
※プロトコルはHTTP(Port:80)、HTTPS(Port:443)に対応しています。
処理の概要については「第4章 結果通知受信処理」をご参照ください。
HMACについて
POSTにてデータを通知する時、リクエストヘッダーにHMACを設定します。
また、HMAC値は、リクエストボディから算出します。
アルゴリズムは「HmacSHA256」が設定されます。
フィールド名 | 設定値 |
---|---|
content-hmac | h={アルゴリズム名};s={CCID};v={HMAC値} |
結果通知受信処理結果について
決済サーバーからの通知に対して店舗側システムがHTTPステータスコード"200"を返戻した場合、受信処理が正常に終了したものと判断します。"200"以外のコードを返した場合は、受信失敗と判断し、一定期間、通知を繰り返します。
※ 規定の回数失敗した場合は、通知処理が停止しますのでご注意ください。
結果通知のタイミング
楽天ペイ(オンライン決済)V2における結果通知電文の種類と通知タイミングを下表に示します。
No. | 通知種類 | 通知タイミング | 注意事項 |
---|---|---|---|
1 | 決済申込完了通知 (Authorize) |
楽天から結果を受け取ったタイミングで送信されます。 | 成功・失敗・保留を問わず、結果が送信されます。 保留時は弊社から楽天へ定期的に問い合わせを行い、結果が確定した時点で再度、送信します。通常は、およそ数十分程度で結果が確定します。 |
2 | 売上結果通知 (Capture) |
楽天から結果を受け取ったタイミングで送信されます。(※都度のみ) | |
3 | 取消結果通知 (Cancel) |
通知タイミングは、大きく分けて2つのタイミングに分かれます。
-
決済に消費者ブラウザが介在する場合、申込完了を通知するケース
楽天ペイ(オンライン決済)V2では、決済が成立しているのにもかかわらず、消費者が画面遷移の途中で離脱した場合や、通信環境の問題で画面遷移時にタイムアウトが発生した場合など、最終遷移先まで到達しない場合があります。
このような場合にも、決済サーバーからの通知を店舗側システムで受信していただくことで、決済が成立したことを検知することができます。
対象の通知は、"Authorize":決済申込完了通知です。 -
売上、取消の結果を通知するケース
売上、取消の応答結果を、結果通知でも通知します。
本機能は、主に楽天ペイ(オンライン決済)V1を利用していた加盟店に向けた機能となります。
V1では、売上要求/取消要求の応答は、要求が楽天側で正常に受理されたかどうかのみを返しており、売上処理/取消処理が成功したかどうかは、決済サーバーが楽天側の処理結果の取り込みを行った後、非同期で店舗側システムに結果通知を送信していました。そのため、V1利用加盟店が移行しやすいように用意した機能となります。
対象の通知は、"Capture":売上結果通知 と、"Cancel":取消結果通知 です。
注) 与信同時売上(Authorize+withCapture=true)の場合は、売上結果通知は送信されませんので、店舗側システムでは、決済申込完了通知を受信した時点で売上成功とみなすように実装してください。
結果通知項目
楽天ペイ(オンライン決済)V2の結果通知項目およびフォーマットを下表に示します。
項番 | フィールド名 | 項目名 | 書式・制限 | 説明 |
---|---|---|---|---|
1 | numberOfNotify | 通知件数 | 半角数字4桁以内 | 1度に通知可能な件数は50件、 51件以上は次回通知 |
2 | pushTime | 送信時刻 | 半角数字14桁 | ゲートウェイから通知した時刻 yyyyMMddHHmmss形式 |
3 | pushId | 識別ID | 半角数字8桁 | プッシュ処理を行うたびに採番されるID。 注) 他の決済サービスで使用されたIDと重複する場合があります。 |
通知件数分下記の項番(4~26)を繰り返す。なお、フィールド名の後ろに4ケタの連番(0000~0049)を付与する。 | ||||
4 | orderId | 取引ID | 半角英数字100桁以内 | 取引ID |
5 | txnType | トランザクションタイプ | ※右記の説明を参照 | "Authorize":決済申込完了通知 "Capture":売上結果通知 "Cancel":取消結果通知 |
6 | txnTime | 処理日時 | 半角数字14桁 | yyyyMMddHHmmss形式 |
7 | vResultCode | 詳細結果コード | 半角英数字4桁 | 処理結果コードの詳細は、 『結果コード一覧』をご参照ください。 |
8 | mstatus | 処理ステータス | 半角英数字8桁以内 | "success ":正常終了 "failure":異常終了 "pending":保留 |
9 | usedPoint | 楽天ポイント利用額 | 半角数字7桁以内 | 楽天ポイント利用額(参考値) |
10 | gatewayOrderId | 決済取引ID | 文字列20桁 | 決済サーバーが取引毎に発番するID |
11 | rakutenApiErrorCode | 楽天APIエラーコード | 文字列 128桁以内 | 楽天システムが返戻したエラーコード |
12 | rakutenApiErrorType | 楽天APIエラータイプ | 文字列 128桁以内 | 楽天システムが返戻したエラータイプ |
13 | dummy | ダミー決済フラグ | 半角数字1桁 | ダミー取引を示す場合は"1"を設定する。 |
以下は、決済申込完了通知(Authorize)の場合に連携される項目です。 | ||||
14 | customerId | 顧客ID | 文字列14桁 | ユーザーを一意に特定できるID(楽天ペイが採番するID) |
以下は、都度決済利用時の決済申込完了通知(Authorize)の場合に連携される項目です。 | ||||
15 | rakutenOrderId | 楽天取引ID | 文字列14桁 | 楽天システムが発番した取引ID
※楽天様ご提供管理画面(Dashboard)では「注文番号」に該当 |
16 | cardBrand | クレジットカードのブランド | 文字列16桁以内 | クレジットカードのブランド |
17 | cardLast4 | クレジットカード番号の下4桁 | 半角数字4桁 | クレジットカード番号の下4桁 |
18 | cardInstallments | 分割払いの回数 | 半角数字2桁以内 | クレジットカードの分割払いの回数 |
19 | cardCvc | セキュリティコード認証利用有無 | 右記参照 | "true":利用 "false":利用していない セキュリティコード認証利用有無 |
20 | card3ds | 3D セキュア認証利用有無 | 右記参照 | "true":利用 "false":利用していない 3D セキュア認証利用有無 |
21 | cancelExpirationTime | 取消受付期限 | 文字列14桁 | 取消の受付期限。 YYYYMMDDhhmmss形式 |
22 | captureExpirationTime | 売上受付期限 | 文字列14桁 | 売上の受付期限。 YYYYMMDDhhmmss形式 |
23 | updateExpirationTime | 金額変更受付期限 | 文字列14桁 | 金額変更の受付期限。 YYYYMMDDhhmmss形式 ※この期限は、「UpdateAuthorizeの金額変更」「Captureの部分売上」「Cancelの部分取消」が対象となります。 |
24 | extendAuthExpirationTime | 与信延長受付期限 | 文字列14桁 | 与信延長の受付期限。 YYYYMMDDhhmmss形式 |
以下は、随時決済利用時の決済申込完了通知(Authorize)の場合に連携される項目です。 | ||||
25 | rakutenConsentOrderId | 楽天承諾時取引ID | 文字列15桁 | 決済センターが随時決済承諾時に発番するID |
以下は、売上結果通知(Capture)、取消結果通知(Cancel)の場合に連携される項目です。 | ||||
26 | balance | 残高 | 半角数字7桁以内 | 現在の決済金額 ※部分取消の場合は、元の売上金額から |
- pushId(識別ID)は、他の決済サービスで使用されたIdと重複する場合がありますので、ユニークキーとして処理しないようにしてください。
- 項目の並び順は、必ずしも表の順序とは一致しません。
その他 補足事項
楽天ペイ(オンライン決済)V2への移行について
古いバージョンの楽天ペイ(オンライン決済)(V1)から楽天ペイ(オンライン決済)V2に移行するためには、楽天ペイメント株式会社とのご契約後に発行されるV2のアカウント情報(接続情報)を弊社にご連携いただき、弊社決済サーバー側で「V2」のアカウント登録を行います。
アカウント登録の完了後に、V2のインタフェースでのリクエストに変更すれば、V1からV2へ切り替えたということになります。 なお、V2のアカウント登録完了後でも、V1のインターフェースは使用可能で、V1で作成した取引の後続処理(売上、取消)を実行することができます。ただし、V1の新規の申込(与信)については、契約上許可されていません。
楽天ペイ(オンライン決済)V2のレギュレーションについて
楽天ペイ(オンライン決済)V2の導入には、楽天ペイメント株式会社が規定するレギュレーションを遵守していただく必要があります。
楽天グループに関する名称、サービス名称や、ロゴ・ボタン等に関する表記審査をはじめ、ご利用のオプション機能用のレギュレーションがございますので、詳細につきましては、楽天ペイメント株式会社にお問い合わせください。
チャージバックに関する注意事項
チャージバック発生時の諸手続きは、楽天ペイメント株式会社より加盟店様へご連絡が行われ、手続きについてのご案内がございますが、チャージバックの情報は弊社の決済サーバーには連携しておりませんので、以下の点にご注意ください。
- チャージバック対象の取引につきまして、楽天システム側でキャンセル処理が行われた場合、 弊社の管理画面(以下、MAP)で表示される当該取引の状態は 、売上が成立した状態のまま残ります。
- 楽天システム側でチャージバックによるキャンセル処理が行われた取引に対して、 MAPから、またはAPI(MDK)で取消を行うことはできません(取消が要求された場合は、エラー応答となります) 。
チャージバックに関する詳細につきましては、楽天ペイメント株式会社にお問い合わせください。
Authorizeコマンドに関する注意事項
在庫切れによるリスク回避のためAuthorizeコマンドを実施する時点で在庫確認を行うことを推奨いたします。
また、その場合にAuthorizeの結果が失敗であった場合や結果の返却が一定時間ない場合には在庫をリリースするようお願いいたします。
申込(与信のみ)時の注意点
決済後にサービス提供を行わない場合は、速やかに取消を実施してください。申込(与信のみ)後、取消可能期限を過ぎた場合、楽天ポイント/楽天キャッシュは返還されません。
期間限定ポイントを使用していた場合、トラブルに発展する可能性があるため、各処理期限までに売上、または取消/返品を実施してください。
申込(与信のみ)のまま既定の期限を超過し売上、または取消/返品をともに行えなくなった場合、楽天ポイント/楽天キャッシュについては消費者へ直接返金してください。
Authorize以降のコマンドに関する注意事項
要求可能期間
楽天ペイ(オンライン決済)V2における、要求可能期間を下表に示します。
※下記、「決済申込日」は、都度決済の申込日と、随時決済の再与信日をさしています。
要求種類 | 要求可能期間 | |
---|---|---|
売上 | 決済申込日(与信日)を起算日として、365日後まで かつ、最後の与信(※)を起算日として、30日後まで |
|
取消 | 売上前 | 決済申込日(与信日)を起算日として、365日後まで |
売上後 |
決済申込日(与信日)を起算日として、365日後まで かつ、売上日を起算日として、30日後まで |
|
与信変更 | 与信期限延長 |
決済申込日(与信日)を起算日として、365日後まで かつ、最後の与信(※)を起算日として、160日後まで ※1つの取引に対して、15回までリクエスト可能 |
金額変更 | 決済申込日(与信日)を起算日として、365日後まで かつ、最後の与信(※)を起算日として、30日後まで |
※決済申込日または与信変更(与信期限延長) 日の最新の方
- 例えば、8/1に決済申込を行い、そのままの場合は、決済申込日が最後の与信日となる。
- 例えば、8/1に決済申込を行い、8/15と9/1に与信変更(与信期限延長)を行った場合は、9/1の与信変更(与信期限延長)が最後の与信日となる。
物品販売における売上要求タイミングに関する注意事項
楽天ペイ(オンライン決済)V2では、物品販売の場合、商品を発送する前に売上を行うことが禁止されています。
必ず、商品の発送後に売上を行うか、多少の前後は問題ございませんので、できる限り消費者への商品発送と同じタイミングで売上を行うようにしてください。
与信変更利用の注意事項
以下の事項についてご確認のうえ、与信変更コマンドを利用ください。
-
決済申込時に3Dセキュア認証を行っていた場合に、与信変更(与信延長/金額変更)を実施すると都度決済では3Dセキュアが無効になります。随時決済では利用承諾時に 3D セキュア認証を呼び出すことができますが、再与信では 3Dセキュア対象外となります。
3Dセキュア認証が無効・対象外となると、万が一不正利用が発生した場合、加盟店様側のチャージバック負担になる可能性がありますので、ご注意ください。 -
与信延長については、注文から30日を超える予約商材への利用を想定しています。
楽天ペイ側では上記以外の利用は許容されていないため、ご注意ください。
保留等の取引の確認
以下の場合に、弊社のシステムで状態を確認し、ステータス等を変更する場合がございます。
- 例えば、「与信保留」の取引について状態を確認し、成功していたためステータスを「与信成功」と変更する。
取引種類 | 結果通知 |
---|---|
決済申込後、消費者の対応(支払い画面等で購入など)がない取引 | ○ |
売上保留の取引 | △(※) |
取消保留の取引 | △(※) |
与信変更保留の取引 | - |
結果通知対象の有無については、「4-1 結果通知受信処理の対象」を参照してください。
楽天ポイントを利用した決済に関する注意点
楽天ポイントを利用した決済では、消費者が楽天ペイ(オンライン決済)V2の購入画面で利用額を設定します。
以下に、楽天ポイントを利用した決済についての注意点を示します。
決済金額の変更時にはポイント利用額が変更される場合があります。
金額の変更(部分売上、部分取消、与信変更(金額変更))が発生した場合、クレジットカードの利用額を優先して減額が行われますが、ポイント・キャッシュ(以下、ポイント)充当設定額を下回った場合にはポイント利用額が減額されます。
- 例えば、購入金額1,000円 (うちポイント利用額900円)で申込が成立した取引について、部分売上で800円の売上を確定した場合は全額がポイント利用となるため、ポイント利用額は800円に変更されます。
ポイント利用額が変更となった場合に、ポイントが消費者へ返却されるタイミングは以下となります。
取消処理、または金額の変更(部分売上、部分取消)により、注文金額がポイント充当設定額を下回った場合には、各処理が正常に完了した時点で消費者へポイントが返却されます。
ただし、期間限定ポイントを利用している、かつ、取消日が有効期限を経過していると失効となり返還されません。
また、加盟店様側にて、売上および取消の要求可能期間(※1)内に売上処理、または取消処理が完了していない取引に関しましては、消費者の楽天ポイントは返却されず利用された状態のままとなります。
加盟店様にて、与信の状態のまま、売上処理、または取消処理を行わずに要求可能期間切れとなりますと、楽天側にて自動でキャンセルされますが(この際、消費者へのキャンセルメールの送信はされません)、可能な限り加盟店様側で適宜売上または取消処理を行っていただくようお願いいたします。
与信の時点で既に楽天ポイントが引き落とされているため、後続処理をお願いいたします。与信の時点で既に楽天ポイントが引き落とされているため、後続処理を行わずに放置してしまうと後のトラブルに繋がる可能性がございます。
※1:売上および取消の要求可能期間については、「6.4.1要求可能期間」をご参照ください。
デビットカード利用について
消費者がデビットカードを利用した注文に対して、与信変更や部分売上、部分取消時にはその都度消費者の銀行口座より引き落とされる可能性があります。 その後通常自動で返金処理は行われますが、処理タイミングや方法はカード会社によって異なるためご注意ください。
楽天から消費者に送信されるメール
楽天ペイ(オンライン決済)V2において、楽天から消費者に送信されるメールの送信タイミングを以下に示します。
送信タイミング | メール内容 |
---|---|
決済完了時(都度決済) | 注文確認メール |
申込完了時(随時決済) | 申込確認メール |
注文取消時 | キャンセル受付メール |
金額変更時 (部分売上、部分取消、与信変更(金額変更)) |
金額変更受付メール |
検索(Search)に関する補足(詳細コマンドタイプ/詳細オーダー決済状態/承諾状態)
管理サーバーでは、楽天ペイ(オンライン決済)V2のシステム内部データとして詳細コマンド(処理要求の種類)と詳細な決済状態(その取引がどのような状態にあるか)を管理しています。
通常の運用では、店舗様システムではこれらの内部情報を利用する必要はありませんが、店舗様システムにおいて取引の状態検索が必要なケースや、障害等のお問い合わせ時の参照情報として、これらの内部データをSearchコマンドで公開しています。
下表にSearchコマンドにて利用可能な内部データの一覧を示します。
詳細コマンドタイプ | 詳細オーダー決済状態 | ||
---|---|---|---|
論理名 | 値 | 論理名 | 値 |
決済認可 | PreAuth | 決済申込 | Init |
与信 | Auth | 与信 | Auth |
取消(与信) | VoidAuth | 取消(与信) | VoidAuth |
売上 | PostAuth | 売上 | PostAuth |
返金 | RefundPostAuth | 売上 | PostAuth |
取消 | VoidPostAuth | 取消 | VoidPostAuth |
与信売上 | AuthCapture | 与信売上 | AuthCapture |
返金(与信売上) | RefundAuthCapture | 与信売上 | AuthCapture |
取消(与信売上) | VoidAuthCapture | 取消(与信売上) | VoidAuthCapture |
承諾 | Consent | 承諾 | Consent |
承諾状態 | |
---|---|
論理名 | 値 |
承諾認可 | Init |
承諾 | Consent |
注) 一覧に記載していないコマンドタイプと状態も存在します。
導入・テストに関する補足
API Keyの取得方法
楽天Payをご利用になる際に、マスタ登録に必要なAPI Key情報を楽天様ご提供管理画面(Dashboard)
https://dashboard.online.checkout.rakuten.co.jpより、ログインし、「アカウント管理」メニューより取得してください。

なお、「API Key 更新ボタン」を押下した場合、古いAPI Keyが使えなくなりますのでご注意ください。
決済申込時のエラーをシミュレートする
決済サーバーに接続し、テストを実施するための各種手続き・手順の詳細につきましては、『導入テストガイド』を参照してください。
弊社では、楽天ペイ(オンライン決済)V2のテストのための疑似環境を提供しています。
Authorizeコマンドの結果として返戻されたレスポンスコンテンツをブラウザに返戻すると、疑似環境に自動的に遷移します。
都度決済

決済結果選択 | 結果 |
---|---|
成功 | F001(成功) |
中断 | FED1(保留) |
失敗(ポイント不正) | FG11(失敗)※ |
失敗(決済失敗) | FG24(失敗) |
失敗(メンテナンス中) | FG90(失敗) |
※再度疑似環境の「お支払内容の確認」画面にリダイレクトされる
この画面で「決済結果選択」を行い、「この内容で注文する」ボタンをクリックすると、決済完了時URL(successUrl)、失敗・中断時は決済エラー時URL(errorUrl)へ遷移します。
ただし、一部選択によっては、再度疑似環境の「お支払内容の確認」画面にリダイレクトされます。(※本番では決済方法などを選択することにより取引が成功する可能性がある。それを擬似的にテストするため)
随時決済

決済結果選択 | 結果 |
---|---|
成功 | F001(成功) |
中断 | FED1(保留) |
失敗(承諾期限超過) | FG90(失敗) |
この画面で「決済結果選択」を行い、「この内容で注文する」ボタンをクリックすると、決済完了時URL(successUrl)、失敗・中断時は決済エラー時URL(errorUrl)へ遷移します。
コマンドのエラーをシミュレートする
要求金額("amount ")の下一桁の値を調整することで、意図的にエラーを発生させることができます。
要求金額の下一桁と、返戻されるvResultCodeの対応表を以下に記載します。
要求金額の 下1桁 |
Authorize (都度) |
Cancel | Capture | UpdateAuthorize | ReAuthorize (随時) |
|||
---|---|---|---|---|---|---|---|---|
(売上) | (部分売上) | (与信延長) | (金額変更) | (与信延長 + 金額変更) |
||||
0 | F001(成功) | F001(成功) | F001(成功) | F001(成功) | F001(成功) | F001(成功) | F001(成功) | F001(成功) |
1 | FG90(失敗) | FED1(保留) | FG90(失敗) | FG90(失敗) | F001(成功) | FG90(失敗) | F001(成功) | |
2 | FG24(失敗) | FG90(失敗) | FED1(保留) | FED1(保留) | F001(成功) | FED2(保留) | FED2(保留) | F001(成功) |
3 | F001(成功) | FG30(失敗) | FED2(保留) | F001(成功) | F001(成功) | |||
4 | F001(成功) | F001(成功) | F001(成功) | F001(成功) | F001(成功) | FED1(保留) | ||
5 | FED1(保留) | FED2(保留) | FED2(保留) | FG30(失敗) | ||||
6 | FG30(失敗) | FG30(失敗) | FG30(失敗) | FG90(失敗) | ||||
7 | FG26(失敗) | F001(成功) | F001(成功) | FED2(保留) | FED2(保留) | FG24(失敗) | ||
8 | FED1(保留) | FG26(失敗) | FG29(失敗) | FG26(失敗) | FG29(失敗) | FG24(失敗) | ||
9 | F001(成功) | FG30(失敗) | FG30(失敗) | FED1(保留) |
- 金額未指定(Authorize以外)の場合、全額が要求されたものとして動作します。
また、Authorizeで随時決済の場合、itemNameの値で意図的にエラーを発生させることができます。
itemName | 結果 |
---|---|
fail | FG90(失敗) |
上記以外 | F001(成功) |
保留となった取引について、一定時間後自動で確認を行い以下の結果に遷移します。
要求金額の下1桁 | 結果 | ||
---|---|---|---|
「お支払内容の確認画面」で「中断」を選択 | 左記以外 | ||
都度 | 随時 | ||
0 | F001(成功) | F001(成功) | - |
1 | F001(成功) | ||
2 | |||
3 | FG30(失敗) | ||
4 | |||
5 | F001(成功) | ||
6 | FG30(失敗) | FG30(失敗) | |
7 | F001(成功) | ||
8 | |||
9 | F001(成功) |
また、Authorize成功後、一定時間を過ぎてもお支払い画面での結果選択が行われなかった場合、都度決済ではFG26として決済失敗となり、随時決済ではF001として決済成功となります。
- 返戻されるエラーコード(vResultCode)につきましては、今後、予告なしに変更させていただく場合がございます。
WebView等を利用したスマートフォンアプリへの実装に関する注意事項
楽天ペイの仕様上、WebView等を利用したスマートフォンアプリへの実装については動作保証対象外となっております。
※実際にご利用いただいている例もございますので、加盟店様にて十分にテストしていただき、問題ないことをご確認のうえリリースしていただきますようお願いいたします。