El problema en el que estamos atorados es el siguiente:
Desde front se capturan los datos de la tarjeta de crédito/debito, para que genere el token de dicha tarjeta. El token es enviado a nuestro servidor backend junto con los datos de "customer"
Haciendo POST desde nuestro servidor backend hacia
https://api.mercadopago.com/v1/customers
se envían los parámetros del "customer" recibido desde frontend. Se captura el id del nuevo cliente creado
Una vez creado el nuevo "customer" se hace POST hacia https://api.mercadopago.com/v1/customers/:customer_id:/cards
en la cual se incluye el JSON:
{"token": "tokenRecibidoDesdeFront"}
Arrojando el error
{"code":120,"description": "card not found"}
Hubo ocasiones en las que no arrojó el error, y la tarjeta fue asignada correctamente al "customer", pero no logramos identificar un patrón que nos indique el motuivo por el cuál fue aceptada la tarjeta.
Cuando no hubo error al agregar la tarjeta, se hace POST a
https://api.mercadopago.com/v1/subscriptions
con los valores:{"plan_id": "7886c889...","payer": { "id":"customer_id"} }
El plan fue creado anteriormente por medio de POST https://api.mercadopago.com/v1/plans
y tiene los valores:
{"id": "7886c889028548feb02d32aa7f1e734d","application_fee": null,"status": "active","description": "Plan basico","external_reference": null,"date_created": "2017-07-13T12:28:25.000-04:00","last_modified": "2017-07-17T21:26:56.000-04:00","auto_recurring": {"frequency": 1,"frequency_type": "months","transaction_amount": 10,"currency_id": "MXN","repetitions": null,"debit_date": null,"free_trial": {"frequency": null,"frequency_type": null } },"live_mode": true,"setup_fee": null,"metadata": null}
En esta ocasión el error que se recibió fue
{"code": 2010,"description": "Security code mandatory - This payment method doesn't allow recurring payments"}
No sabemos que hemos estado realizando mal, ya que en modo SANDBOX haciendo el mismo procedimiento no hay ningún problema