module EPayCo::Client::Subscription

Defines methods related to Subscription

Public Instance Methods

subscription_all(params={}) click to toggle source

Returns all the Subscriptions registered

@format :json @return [Array] @example All the Subscription

[
  {
    "_id": "wAzyX9Sutm3BaLxM2",
    "idPlan": "cursocarpinteria2",
    "data": {
      "_id": "LS5L9cRaJSWA4ykeM",
      "idClient": "cursocarpinteria2",
      "name": "Curso de carpintería2",
      "description": "En este curso aprenderás carpintería2",
      "amount": 30000,
      "currency": "cop",
      "interval": "month",
      "clientId": "5c4773856f296c674685209bbfd11f92",
      "status": "active",
      "trialDays": 30,
      "createdAt": "2016-09-27T15:29:38.772Z"
    },
    "periodStart": "2016-09-27T15:59:46.339Z",
    "periodEnd": "2016-11-26T15:59:46.339Z",
    "status": "active",
    "idUser": "5c4773856f296c674685209bbfd11f92",
    "idCustomer": "6eba2u73ZBh49Po7q",
    "createdAt": "2016-09-27T15:59:46.352Z"
  },
  {
    "_id": "cZHvGKHxJDd8oY72m",
    "idPlan": "cursocarpinteria2",
    "data": {
      "_id": "LS5L9cRaJSWA4ykeM",
      "idClient": "cursocarpinteria2",
      "name": "Curso de carpintería2",
      "description": "En este curso aprenderás carpintería2",
      "amount": 30000,
      "currency": "cop",
      "interval": "month",
      "clientId": "5c4773856f296c674685209bbfd11f92",
      "status": "active",
      "trialDays": 30,
      "createdAt": "2016-09-27T15:29:38.772Z"
    },
    "periodStart": "2016-09-27T16:49:59.758Z",
    "periodEnd": "2016-11-26T16:49:59.758Z",
    "status": "active",
    "idUser": "5c4773856f296c674685209bbfd11f92",
    "idCustomer": "cus_97dn6u3OFeeeOye",
    "createdAt": "2016-09-27T16:49:59.767Z"
  }
]
# File lib/epayco/client/subscription.rb, line 58
def subscription_all(params={})
  path = "/recurring/v1/subscriptions/#{public_key}"
  response_options = { return_object: "plans" }
  get(path, params, response_options)
end
subscription_cancel(subscription_id) click to toggle source

Cancel a subscription

@format :json @param subscription_id [String] Id único del suscripción que se asocio a un cliente @return [Hashie::Mash] @example Success

{
  "status": "Actualizado",
  "description": "La suscripción ha sido inhabilidata para el usuario wAzyX9Sutm3BaLxM2"
}
# File lib/epayco/client/subscription.rb, line 142
def subscription_cancel(subscription_id)
  path = "/recurring/v1/subscription/cancel"
  request_options = { public_key: public_key, id: subscription_id }
  response_options = { return_object: 'data' }
  post(path, request_options, response_options)
end
subscription_create(options={}) click to toggle source

Creates a new subscription

@format :json @param options The Necessary fields to create a Subscription @option options [String] :id_plan Id único del plan que se desea asociar al cliente @option options [String] :token_card Id de la tarjeta tokenizada con la que se efectuara un pago y ha sido asociada a un cliente @option options [String] :customer Customer ID (Optional) @return [Hashie::Mash] @example Success

{
    "success": true,
    "object": "subscription",
    "id": "wAzyX9Sutm3BaLxM2",
    "created": "Sep 27, 2016 10:59 AM",
    "current_period_start": "Sep 27, 2016 10:59 AM",
    "current_period_end": "Nov 26, 2016 10:59 AM",
    "customer": "6eba2u73ZBh49Po7q",
    "message": "Suscripción creada",
    "data": {
        "id_plan": "cursocarpinteria2",
        "name": "Curso de carpintería2",
        "description": "En este curso aprenderás carpintería2",
        "amount": 30000,
        "currency": "cop",
        "interval": "month",
        "status": "active",
        "trialDays": 30,
        "createdAt": "Sep 27, 2016 10:59 AM"
    },
    "status": "active"
}
# File lib/epayco/client/subscription.rb, line 95
def subscription_create(options={})
  path = "/recurring/v1/subscription/create"
  post(path, options.merge(public_key: public_key))
end
subscription_details(subscription_id, params={}) click to toggle source

Returns the details of a subscription

@format :json @return [Hashie::Mash] @param subscription_id [String] Id único del suscripción que se asocio a un cliente @example Subscription Details

{
    "success": true,
    "id": "wAzyX9Sutm3BaLxM2",
    "object": "subscription",
    "created": "2016-09-27T15:59:46.352Z",
    "current_period_start": "Sep 27, 2016 10:59 AM",
    "current_period_end": "Nov 26, 2016 10:59 AM",
    "customer": "6eba2u73ZBh49Po7q",
    "plan": {
        "id_plan": "cursocarpinteria2",
        "name": "Curso de carpintería2",
        "description": "En este curso aprenderás carpintería2",
        "amount": 30000,
        "currency": "cop",
        "interval": "month",
        "status": "active",
        "trialDays": 30,
        "createdAt": "Sep 27, 2016 10:59 AM"
    },
    "status": "active"
}
# File lib/epayco/client/subscription.rb, line 127
def subscription_details(subscription_id, params={})
  path = "/recurring/v1/subscription/#{subscription_id}/#{public_key}"
  get(path, params)
end