Mostrar metadatos de la tarjeta
Última actualización
¿Te fue útil?
¿Te fue útil?
String cardID = ""; // id de la tarjeta recibido desde el backend
D1Task.Callback<CardMetadata> callback = new D1Task.Callback<CardMetadata>() {
@Override
public void onSuccess(CardMetadata cardMetadata) {
// Últimos 4 dígitos del PAN
String last4Pan = cardMetadata.getLast4Pan();
StateReason reason = cardMetadata.getStateReason();
OngoingOperation ongoingOperation = cardMetadata.getOngoingOperation();
// CardAsset se usa para mostrar el arte (Artwork) de la tarjeta
cardMetadata.getAssetList(new D1Task.Callback<List<CardAsset>>() {
@Override
public void onSuccess(List<CardAsset> cardAssets) {
// Continúa con la lógica de la aplicación
}
@Override
public void onError(@NonNull D1Exception e) {
// Maneja el error. Por ejemplo, regístralo, muéstralo, etc.
}
});
}
@Override
public void onError(D1Exception exception) {
// Consulta la sección Integración del SDK D1 – Gestión de errores.
}
};
d1Task.getCardMetadata(cardID, callback);let cardID = "" // Obtenido, por ejemplo, desde el servidor.
d1Task.cardMetadata(cardID) { cardMetadata, error in
if let error = error {
// Consulta la sección Integración del SDK D1 – Gestión de errores.
} else if let cardMetadata = cardMetadata {
// Continúa con los flujos posteriores. Por ejemplo, actualiza la interfaz de usuario.
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)")
// Por ejemplo, muestra el primer recurso (artwork) de la tarjeta.
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)
}
}
}
}