カードのメタデータを表示する
最終更新
役に立ちましたか?
役に立ちましたか?
String cardID = ""; // バックエンドから受け取ったカードID
D1Task.Callback<CardMetadata> callback = new D1Task.Callback<CardMetadata>() {
@Override
public void onSuccess(CardMetadata cardMetadata) {
// PANの下4桁
String last4Pan = cardMetadata.getLast4Pan();
StateReason reason = cardMetadata.getStateReason();
OngoingOperation ongoingOperation = cardMetadata.getOngoingOperation();
// CardAssetはカードデザインを表示するために使用されます
cardMetadata.getAssetList(new D1Task.Callback<List<CardAsset>>() {
@Override
public void onSuccess(List<CardAsset> cardAssets) {
// アプリケーションロジックを続行します
}
@Override
public void onError(@NonNull D1Exception e) {
// エラーを処理します。例えば、ログに記録したり表示したりします。
}
});
}
@Override
public void onError(D1Exception exception) {
// D1 SDK 統合 – エラー管理セクションを参照してください。
}
};
d1Task.getCardMetadata(cardID, callback);let cardID = "" // 例えばサーバーから取得した値。
d1Task.cardMetadata(cardID) { cardMetadata, error in
if let error = error {
// D1 SDK 統合 – エラー管理セクションを参照してください。
} else if let cardMetadata = cardMetadata {
// 続行するフローを実行します。例えば、UIを更新します。
print("Scheme: \(cardMetadata.cardScheme.rawValue)")
print("State: \(cardMetadata.cardState.rawValue)")
print("Exp: \(cardMetadata.cardExpiry)")
print("Last4: **** **** **** \(cardMetadata.cardLast4)")
print("reason: \(cardMetadata.reason.rawValue)")
print("Ongoing operation: \(cardMetadata.ongoingOperation.rawValue)")
// 例えば、最初のカードデザインを表示します。
cardMetadata.cardAssetArray { assets, error in
if let cardAssetContent = assets?.first?.contentArray.first,
let cardImageData = Data(base64Encoded: cardAssetContent.encodedData, options: .ignoreUnknownCharacters) {
let image = UIImage.init(data: cardImageData)
}
}
}
}