Back to All

Tokenizar un payment_source previamente guardado de un cliente

Hola, estoy implementando Conekta en mi App móvil de Android con Kotlin y tengo una duda:

Actualmente guardo el payment_source (card) ligado a un cliente y obtengo mi objeto customer así como aparece en su documentación:

payment_sources: {
...
data: [{
id: "src_2fw8YeLSqoaGEYTn3",
name: "Jorge Lopez",
exp_month: 12,
exp_year: 19,
object: "payment_source",
type: "card",
created_at: 1597069683,
last4: "4242",
brand: "visa",
parent_id: "cus_zzmjKsnM9oacyCwV3"
}]
}

Hasta aquí todo correcto, ya que obtengo mi lista de tarjetas y funcionan correcto al guardarlas.
Mi pregunta es, ¿Cómo puedo tokenizar nuevamente un payment_source de tipo 'card' previamente guardado para realizar un pago (crear una orden)?

En la documentación de Android pone:

Card card = new Card("Fulanito Pérez", "4242424242424242", "332", "11", "2020");
Token token = new Token(activity);

token.onCreateTokenListener( new Token.CreateToken(){
@Override
public void onCreateTokenReady(JSONObject data) {
try {
//Send the id to the webservice.
} catch (Exception err) {
//Do something on error
}
}
});

Pero como se muestra, el objeto 'Card' siempre pide los parámetros completos de la tarjeta (nombre, número, expYear, expMonth, cvv). Y en el caso de tener una tarjeta guardada (payment_source) pues no tengo esos valores (id, name, exp_month, exp_year, object, type, created_at, last4, brand, parent_id).

Espero haberme explicado correctamente.

Saludos!