Suscripciones

Las suscripciones permiten cobrar automáticamente y de forma periódica el uso de un plan por parte de un cliente. Esta sección veremos como suscribir un cliente a un plan.

Antes de empezar debes tener un plan y un cliente con una tarjeta de crédito inscrita. Visita estos links para ver como hacerlo.

Si ya tienes lo necesario, debes hacer una llamada a POST https://playground.qvo.cl/subscriptions especificando el identificador del cliente customer_id y del plan plan_id dentro de los parámetros.

ℹ Sí requieres forzar la suscripción de un cliente en una de las cuentas de tu plataforma marketplace, debes especificar dentro del header de la consulta a nuestra API la variable QVO-account (el ID de la cuenta que será forzada), adicional al API Token de tu cuenta.

curl --request POST "https://playground.qvo.cl/subscriptions" \
  -H "Authorization: Bearer <COPIA TU API TOKEN AQUÍ>" \
  -d customer_id="cus_qos_6r3-4I4zIiou2BVMHg" \
  -d plan_id="oro"
<?php
require 'guzzle.phar';

$client = new GuzzleHttp\Client();

$body = $client->request('POST', 'https://playground.qvo.cl/subscriptions', [
  'json' => [
    'customer_id' => 'cus_qos_6r3-4I4zIiou2BVMHg',
    'plan_id' => 'oro'
  ],
  'headers' => [
    'Authorization' => 'Bearer <COPIA TU API TOKEN AQUÍ>'
  ]
])->getBody();

$response = json_decode($body);

var_dump($response);
?>
require 'rest-client'
require 'json'

result =
  RestClient.post 'https://playground.qvo.cl/subscriptions', {
    customer_id: "cus_qos_6r3-4I4zIiou2BVMHg",
    plan_id: "oro"
  }, {
    Authorization: 'Bearer <COPIA TU API TOKEN AQUÍ>'
  }

p JSON.parse(result)
const fetch = require('node-fetch-json');

fetch('https://playground.qvo.cl/subscriptions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <COPIA TU API TOKEN AQUÍ>'
  },
  body: {
    customer_id: "cus_qos_6r3-4I4zIiou2BVMHg",
    plan_id: "oro"
  }
}).then(function(response) {
  console.log(response);
});
import requests

r = requests.post('https://playground.qvo.cl/subscriptions', params={
  'customer_id': "cus_qos_6r3-4I4zIiou2BVMHg",
  'plan_id': "oro"
}, headers={
  'Authorization': 'Bearer <COPIA TU API TOKEN AQUÍ>'
})

print r.json()

Recibirás una respuesta similar a la siguiente:

{
  "id": "sub_HnKU4UmU5GtymRulcVOEow",
  "status": "active",
  "debt": 0,
  "start": "2017-05-17T19:12:57.185Z",
  "current_period_start": "2017-05-17T19:12:57.185Z",
  "current_period_end": "2017-06-17T19:12:57.185Z",
  "customer": {
    "id": "cus_qos_6r3-4I4zIiou2BVMHg",
    "name": "Jon Snow",
    "email": "dabastad@thewatch.org"
  },
  "plan": {
    "id": "oro",
    "name": "Plan Oro",
    "price": "15000.0",
    "currency": "CLP",
    "interval": "month",
    "interval_count": 1
  },
  "tax_name": null,
  "tax_percent": null,
  "created_at": "2017-05-17T19:12:57.189Z",
  "updated_at": "2017-05-17T19:12:57.189Z"
}

La respuesta contiene los detalles de la suscripción creada. Te recomendamos almacenar el identificador id, es necesario para obtener información sobre el estado de la suscripción en cualquier momento.

ℹ Las llamadas de este tutorial usan la URL de prueba https://playground.qvo.cl. Sin embargo, cuando tengas tu cuenta real (de producción) debes usar la URL https://api.qvo.cl

Encuentra más información sobre suscripciones aquí.


Ejemplos