TPaga Service
TPaga Service gem provides the functionality to call the multiple services of the TPaga platform.
Installation
To install as a gem in your environment type in your console:
gem install tpaga_serviceIf you want to use in your rails application, add to your Gemfile:
gem 'tpaga_service'And run from your application directory:
bundle installConfiguration
If you are going to run tpaga in a rails environment add to the environment file (ex: environments/development.rb) the following lines:
config.schema = 'https'
config.host = 'sandbox.tpaga.co'
config.base_path = '/api'
config.private_api_key = 'd13fr8n7vhvkuch3lq2ds5qhjnd2pddw2'
config.public_api_key = 'e8tbtu6bdi1jts34h2ktdipschq9heq0a'using the respective api key for your TPaga user account.
Next add the the file tpaga_service.rb to the rails initializers (ex: initializers/tpaga_service.rb) with he following lines:
require 'tpaga_service'
TpagaService::Swagger.configure do |config|
config.scheme = Rails.application.config.tpaga_schema
config.host = Rails.application.config.tpaga_host
config.base_path = Rails.application.config.tpaga_base_path
config.private_api_key = Rails.application.config.tpaga_private_api_key
config.public_api_key = Rails.application.config.tpaga_public_api_key
config.inject_format = false
endif you are not using rails, just simply initialize the service with the lines in the tpaga initializer before you call any service of the api.
Managing customers
You can create a customer:
# if outside from rails
require 'tpaga_service'
# creating a tpaga_service customer object
customer = {
firstName: 'foo',
lastName: 'bar',
email: 'foo@bar.com',
phone: '0000000000',
gender: 'M'
}
# call of the api to create the customer in the TPaga account
customer = TpagaService::CustomerApi.create_customer customer
customer.id # The unique identifier of the customer in the TPaga account
# if the request cannot be completed, raise a generic errorGet a customer by it's id:
customer = TpagaService::CustomerApi.get_customer_by_id 'id'
# returns a TpagaService::Customer object, raise error if notDelete a customer by it's id:
response = TpagaService::CustomerApi.delete_customer_by_id 'customer_id'
# return nil if success, raise an error if notManaging credit cards
You can add a credit card to existing customers:
# build the credit card object to create
credit_card_create = {
primaryAccountNumber: '4111111111111111',
expirationMonth: '08',
expirationYear: '2023',
cardVerificationCode: '789',
cardHolderName: 'Jon Snow'
}
credit_card = TpagaService::CreditCardApi.add_credit_card credit_card_create, 'customer_id'
# returns a TpagaService::CreditCard object, raise error if notyou can get the credit card of customers (NOT AVAILABLE):
credit_card = TpagaService::CreditCardApi.get_credit_card_by_id 'customer_id', 'credit_card_id'
# return a TpagaService::CreditCard object, raise error if notYou can delete the credit card of customers:
TpagaService::CreditCardApi.delete_credit_card_by_id 'customer_id', 'credit_card_id'
# return nil if success, raise error if notYou can charge a credit card:
# build the charge object
charge = {
amount: 10000,
taxAmount: 10000 * 0.1,
currency: 'COP',
orderId: 'Your identifier for the order',
installments: 1,
description: 'A new leash for ghost',
creditCard: 'credit_card_id'
}
charge = TpagaService::CreditCardApi.add_credit_card_charge charge
# return a TpagaService::CreditCardCharge object, raise error if notRetrieve a charge by it's id (NOT AVAILABLE):
charge = TpagaService::CreditCardApi.get_credit_card_charge_by_id 'charge_id'
# return a TpagaService::CreditCardCharge object, raise error if not