レスポンス定義
決済連動アプリは正常に終了した場合Activity.RESULT_OKを、それ以外の場合はActivity.RESULT_CANCELEDを返します。
RESULT_OK時の戻り値のIntentキー
キー名 | 説明 | 支払い | 取消・返品 | 日計 / 中間計 | レシート再印刷 | 疎通確認 | メインメニュー |
---|---|---|---|---|---|---|---|
sequence_number | 呼び出し時に指定したsequence_number | 返却 | 返却 | 返却 | |||
current_service | 処理を行った決済サービス名 | 返却 | 返却 | ||||
amount | 決済・取消した金額 | 返却 | 返却 | ||||
transaction_id | 決済連動アプリが生成する取引番号。取消・返品に必要な情報を一つの文字列にまとめたもの | 返却 |
sequence_number(Int型)
呼び出し時に指定したsequence_numberを返却します。
値 | 備考 |
---|---|
(例:10001) |
current_service(String型)
処理を行った決済サービス名、ブランド名などを返却します。
値 | 備考 |
---|---|
(例:Credit、UnionPay、PayPay、LINEPayなど) |
amount(Int型)
決済金額(支払い、取消・返品した金額)を返却します。
値 | 備考 |
---|---|
(例:1080) |
transaction_id(String型)
支払いを呼び出した場合は、後に取消・返品が行えるよう取引を特定する情報「transaction_id」を返却します。 レジアプリ側で適宜取得、保存、印刷などを行い取消時に参照可能とすることで、取消対象の情報を決済端末に連携することが可能となります。
取消・返品を行う際はこの「transaction_id」を「cancel_transaction_id」に設定してください。
値 | 備考 |
---|---|
(例:1234567890) | 取消・返品に必要な情報(50文字以内の半角英数記号)。フォーマットはマネー毎に異なる |
RESULT_CANCELED時の戻り値のIntentキー
キー名 | 説明 | 支払い | 取消・返品 | 日計 / 中間計 | レシート再印刷 | 疎通確認 | メインメニュー |
---|---|---|---|---|---|---|---|
sequence_number | 呼び出し時に指定したsequence_number | 返却 | 返却 | 返却 | |||
current_service | 処理を行った決済サービス名 | 返却 | 返却 | ||||
error_code | エラーコード | 返却 | 返却 | 返却 | 返却 | 返却 | 返却 |
sequence_number(Int型)
呼び出し時に指定したsequence_numberを返却します。
値 | 備考 |
---|---|
(例:10001) |
current_service(String型)
処理を行った決済サービス名、ブランド名などを返却します。
値 | 備考 |
---|---|
(例:Credit、UnionPay、PayPay、LINEPayなど) |
error_code(String型)
レジ連携が開始できない場合、以下の値を返却します。
値 | 備考 | 補足 |
---|---|---|
InvalidCommand | 未対応のコマンド指示 | 開発時に修正するべき事項 |
InvalidCommandParameter | コマンドパラメータエラー | 開発時に修正するべき事項 |
RequestPrintRetry | レシート再印刷を実行する必要あり | TCheckoutのメインメニューの「レシート再印刷」かレジ連携コマンドの「PRINT_RETRY」を実行しないと新しい決済端末向けの要求コマンドを実行できない。 |
TerminalNotAvailable | 決済端末と接続エラー | 決済端末が利用できないことやネットワークの確認が必要という警告を表示。 |
参考ソースコード
if (result.resultCode == Activity.RESULT_OK) {
val sequenceNo = result.data?.getIntExtra(BUNDLE_KEY_RETURN_SEQUENCE_NUMBER, -1)
val currentService =
result.data?.getStringExtra(BUNDLE_KEY_RETURN_CURRENT_SERVICE) ?: ""
val amount = result.data?.getIntExtra(BUNDLE_KEY_RETURN_AMOUNT, -1)
val transaction_id =
result.data?.getStringExtra(BUNDLE_KEY_RETURN_TRANSACTION_ID) ?: ""
//TODO:後続処理
} else {
val sequenceNo = result.data?.getIntExtra(BUNDLE_KEY_RETURN_SEQUENCE_NUMBER, -1)
val currentService =
result.data?.getStringExtra(BUNDLE_KEY_RETURN_CURRENT_SERVICE) ?: ""
val returnErrorCode = result.data?.getStringExtra(BUNDLE_KEY_RETURN_ERROR_CODE)
Log.e(
TAG,
"RESULT_CANCELED ResultCode: ${result.resultCode}: $returnErrorCode"
)
//TODO:後続処理
}