対象機種
本機能の対象機種はstera terminal standard(ステラターミナルスタンダード)および、stera terinal mobile(ステラターミナルモバイル)です。
stera terminal unit(ステラターミナルユニット)ではご利用いただけません。
stera terminal mobile(ステラターミナルモバイル)は2024年末にリリース予定となります。
Intentを使用することで、決済アプリケーションとの連携をすることができます。
決済アプリケーションでは、下記の機能を提供しています。
■決済アプリケーション機能
・取引の実行
・過去の決済の再印字の実行
・一括日計の実行
決済アプリケーションとの連携は Android™ のIntentを用いて行います。
決済APIを使用すると、下記の決済機能を使用することができます。
■決済アプリケーション機能詳細
・取引(決済)
売上、取消、返品ができます。
金種はクレジットカード決済、電子マネー決済、QRコード決済から選択できます。
練習モードでの呼び出しもできます。
・再印字
過去の取引情報を再印字することができます。
決済アプリケーション上から該当の取引を選択し、レシートに印字します。
・一括日計
一括日計処理を実施できます。
決済時にはIntent経由で決済情報のパラメータを渡します。
パラメータを設定する際には、putExtraメソッドを使用します。
設定可能なパラメータは下記のとおりです。
■startActivityForResult() 呼び出し時の Intent.putExtra()の設定:
表の詳細については横スクロールさせて確認することができます。
Key |
取引モード |
値 |
---|---|---|
TransactionMode |
通常 |
”1” |
|
練習 |
”2” |
表の詳細については横スクロールさせて確認することができます。
Key |
取引種別 |
値 |
---|---|---|
TransactionType |
売上 |
”1” |
|
取消 |
”2” |
|
返品 |
”3” |
表の詳細については横スクロールさせて確認することができます。
Key |
金額 |
値 |
---|---|---|
Amount |
金額 |
1~99999999 |
Tax |
税・その他 |
0~9999999 |
表の詳細については横スクロールさせて確認することができます。
Key |
金種 |
値 |
---|---|---|
PaymentType | クレジット・銀聯 |
”01” |
iD | ”02-01” | |
交通系IC | ”02-02” | |
楽天Edy | ”02-03” | |
WAON | ”02-04” | |
nanaco | ”02-05” | |
QUICPay plus | ”02-06” | |
PiTaPa | ”02-07” | |
QR | ”03” |
表の詳細については横スクロールさせて確認することができます。
Key |
伝票番号 |
値 |
---|---|---|
SlipNumber |
1~99999 |
”00001”~”99999” |
決済実行後の結果はonActivityResultメソッドから取得できます。
取得可能なパラメータは下記のとおりです。
■onActivityResult()呼び出し時の Intent.getExtra()での取り出し:
表の詳細については横スクロールさせて確認することができます。
Key |
決済種別 |
値 |
---|---|---|
PaymentType |
クレジット |
”01” |
|
電子マネー |
”02” |
|
QR |
”03” |
表の詳細については横スクロールさせて確認することができます。
Key |
エラーコード |
値 |
---|---|---|
ErrorCode |
あり |
”FFFFFFFF” |
|
なし |
”” |
表の詳細については横スクロールさせて確認することができます。
Key |
伝票番号 |
値 |
---|---|---|
SlipNumber |
1 |
”00001” |
|
... |
... |
|
99999 |
”99999” |
表の詳細については横スクロールさせて確認することができます。
Key |
取引種別 |
値 |
---|---|---|
TransactionType |
売上 |
”1” |
|
取消 |
”2” |
|
返品 |
”3” |
表の詳細については横スクロールさせて確認することができます。
Key |
金額 |
値 |
---|---|---|
Amount |
金額 |
”1~99999999” |
Tax |
税・その他 |
”0~99999999” |
表の詳細については横スクロールさせて確認することができます。
Key |
カードブランド |
値 |
---|---|---|
CreditCardBrand |
MS/マニュアル入力 |
”00” |
|
VISA |
”01” |
|
Mastercard |
”02” |
|
JCB |
”03” |
|
AmericanExpress |
”04” |
|
Diners |
”05” |
|
銀聯 |
”06” |
表の詳細については横スクロールさせて確認することができます。
Key |
会員番号 |
値 |
---|---|---|
CreditCardMaskedPAN |
*でマスクされた番号 |
”123456******3456” |
表の詳細については横スクロールさせて確認することができます。
Key |
通貨コード |
値 |
---|---|---|
CurrencyCode |
円 |
”JPY” |
表の詳細については横スクロールさせて確認することができます。
Key |
会員番号 |
値 |
---|---|---|
EMoneyNumber | 1234567890123450 |
”1234567890123456” |
表の詳細については横スクロールさせて確認することができます。
Key |
QR種別 |
値 |
---|---|---|
QRPayType |
楽天ペイ |
”11” |
|
LINEPay |
”12” |
|
PayPay |
”13” |
|
d払い |
”14” |
|
auPay |
”15” |
|
メルペイ |
”16” |
|
銀行Pay |
”19” |
WeChatPay | ”21” | |
Alipay | ”22” | |
銀聯 | ”23” | |
BankPay | ”35” | |
AEONPay | ”37” | |
アトカラ | ”38” |
表の詳細については横スクロールさせて確認することができます。
Key |
電子マネー種別 |
値 |
---|---|---|
EMoneyType |
iD |
”01” |
|
交通系IC |
”02” |
|
楽天Edy |
”03” |
|
WAON |
”04” |
|
nanaco |
”05” |
|
QUICPay plus |
”06” |
|
PiTaPa |
”07” |
決済の一連の流れは下記のように進みます。
1. 作成するアプリケーション上から、決済アプリケーションのIntentを作成します。
Intent作成後、putExtraメソッドでIntentへ渡すパラメータを設定します。
サンプルコードでは下記パラメータを設定しています。
・TransactionMode(取引モード):2(練習モード)
・TransactionType(取引種別):1(売上)
・Amount(金額):100(円)
・Tax(税):10(円)
startActivityForResultメソッドを実行すると、決済アプリケーションへ遷移します。
コードは横スクロールさせて確認することができます。
// 決済アプリアプリケーション用Intentの作成 Intent intentResult = new Intent(); intentResult.setClassName("com.panasonic.smartpayment.android.salesmenu", "com.panasonic.smartpayment.android.salesmenu.MainActivity"); // リクエスト用パラメータの設定(例では取引を指定) intentResult.putExtra("TransactionMode", "2"); intentResult.putExtra("TransactionType", "1"); intentResult.putExtra("Amount", "100"); intentResult.putExtra("Tax", "10"); // 決済アプリケーションへ遷移 startActivityForResult(intentResult, 2);
2.決済アプリケーション上で決済を実行します
決済アプリケーションの画面は下記のようになります。
1で設定した取引モード、取引種別、金額が連携されており、決済アプリケーションに従って決済を進めます。
決済アプリケーション上での決済が完了/キャンセルすると、作成中のアプリケーションへ制御が戻ります。
3. 決済アプリケーションからの戻り値を取得する
決済アプリケーションの実行が終了すると、onActivityResultメソッドが実行されます。
このonActivityResultメソッド内に戻り値に応じたハンドリングを実装してください。
下のサンプルコードでは、getStringExtraメソッドで取得した“PaymentType”の値と、resultCodeの値により次に遷移するページを切替えています。
コードは横スクロールさせて確認することができます。
protected void onActivityResult(int requestCode, int resultCode, Intent intent) { super.onActivityResult(requestCode, resultCode, intent); Log.d(TAG, "[in] onActivityResult()"); Log.d(TAG, "requestCode=" + requestCode); Log.d(TAG, "resultCode=" + resultCode); Log.d(TAG, "PaymentType=" + intent.getStringExtra("PaymentType")); final Intent intentResult = new Intent(CancelReturnActivity.this, ResultActivity.class); intentResult.putExtra("TransactionType", mTransactionType); if (resultCode == MainActivity.SUCCESS) { intentResult.putExtra("Result", getString(R.string.judgetransactionOK)); intentResult.putExtra("ResultCode", resultCode); } else if (resultCode == MainActivity.FAIL) { Log.d(TAG, "ErrorCodeCancelReturn=" + intent.getStringExtra("ErrorCode")); intentResult.putExtra("Result", getString(R.string.judgetransactionNG)); intentResult.putExtra("ResultCode", resultCode); } else if (resultCode == MainActivity.CANCEL) { intentResult.putExtra("Result", getString(R.string.judgetransactionCancel)); intentResult.putExtra("ResultCode", resultCode); } else { Log.d(TAG, "CancelReturnActivity got incorrect resultCode. resultCode=" + resultCode); } startActivity(intentResult); Log.d(TAG, "[out] onActivityResult()"); // Finish this Activity finishAndRemoveTask(); }
Android は Google LLC の商標です。