Android
ステップ 1: ウォレットに追加ボタンの表示
OEMPayType type = OEMPayType.GOOGLE_PAY; // または OEMPayType.SAMSUNG_PAY
GetTokenInput input = new GetTokenInput("1234"); // 物理カード(FPAN)の下4桁
PushProvisioning pushProvisioning = TPCManager.getInstance().getPushProvisioning(type);
pushProvisioning.getToken(input, new TPCSDKListener<Token>() {
@Override
public void onStart() {
}
@Override
public void onSuccess(TPCResult<Token> result) {
// トークンは result.getResult() を使用して取得できます。
// OEM ウォレットに対応するトークンがない場合、result.getResult() は null を返します。
// トークン状態は以下のように使用されます:
if(result.getResult()==null || TextUtils.isEmpty(result.getResult().getState())){
// API はトークンを返しませんでした。
// 「GPay/SPay に追加」ボタンを表示します。
}else{
Token token = result.getResult();
if(type==OEMPayType.GOOGLE_PAY){
// Google Pay の場合。
try {
int tokenState = Integer.parseInt(token.getState());
switch (tokenState){
case CardDigitizationStatus.GOOGLE_PAY_TOKEN_STATE_NEEDS_IDENTITY_VERIFICATION:
// Activate アクションについては Token ライフサイクル管理を参照してください。
// カードは ID&V の保留中です。
break;
case CardDigitizationStatus.GOOGLE_PAY_TOKEN_STATE_PENDING:
case CardDigitizationStatus.GOOGLE_PAY_TOKEN_STATE_SUSPENDED:
case CardDigitizationStatus.GOOGLE_PAY_TOKEN_STATE_ACTIVE:
// カードは既に追加されています。
break;
case CardDigitizationStatus.GOOGLE_PAY_TOKEN_STATE_UNTOKENIZED:
// 「GPay に追加」ボタンを表示します。
break;
}
} catch (NumberFormatException e) {
// 例外を処理します。
}
}else if(type==OEMPayType.SAMSUNG_PAY){
// Samsung Pay の場合。
String tokenState = token.getState();
switch (tokenState){
case CardDigitizationStatus.SAMSUNG_PAY_PENDING_PROVISION:
// Activate アクションについては Token ライフサイクル管理を参照してください。
// カードは ID&V の保留中です。
break;
case CardDigitizationStatus.SAMSUNG_PAY_ACTIVE:
case CardDigitizationStatus.SAMSUNG_PAY_EXPIRED:
case CardDigitizationStatus.SAMSUNG_PAY_PENDING_ENROLLED:
case CardDigitizationStatus.SAMSUNG_PAY_SUSPENDED:
case CardDigitizationStatus.SAMSUNG_PAY_PENDING_ACTIVATION:
// カードは既に追加されています。
break;
case CardDigitizationStatus.SAMSUNG_PAY_DISPOSED:
// 「SPay に追加」ボタンを表示します。
break;
}
}
}
}
@Override
public void onError(TPCSDKException exception) {
// Samsung Pay 固有の処理
Throwable exceptionCause = exception.getCause();
if (exceptionCause != null && exceptionCause instanceof TPCSpayException) {
// Samsung Pay のエラーの詳細を取得します。
TPCSpayException spayException = (TPCSpayException) exceptionCause;
}
}
});Google Pay のステータス
説明
Samsung Pay のステータス
説明
注意
ステップ 2: リクエストのプロビジョニング
注
最終更新
役に立ちましたか?