Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

hansfindel/khipu-api-ruby-client

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Installation

gem install khipu-api-client

Usage

Basic configuration

require 'khipu-api-client'

Khipu.configure do  |c|
  c.secret      = 'abc123'
  c.receiver_id = 1234
end

Basic usage

Create a new payment

api       = Khipu::PaymentsApi.new()
options   = {
              expires_date: 1.day.from_now.to_datetime, # DateTime.new(2016,1,1)
              send_email:   true, 
              payer_name:   "payer",
              payer_email:  "payer@mail.com"
			}
response  = api.payments_post("Test de api nueva", "CLP", 1, options)

print response
 # response keys: 
 #   [:payment_id, :payment_url, :simplified_transfer_url, :transfer_url, :app_url]

There are a more params you can send in each request. You might want to consider adding these to the options:

transaction_id  	# transaction id in your system
return_url 			# after (potential) success, the client will be redirected to this url
cancel_url			# if the payment is canceled, the client will be redirected to this url
notify_url 			# khipu will send a notification to this url - the client will not see this request
notify_api_version 	# "1.3"

Ask for payment status

api    = Khipu::PaymentsApi.new()
status = api.payments_id_get(response.payment_id)
print status

Confirm a payment

If you send a notification_url when creating the payment or if you have set it up on your account configuration, Khipu will sent you a request with a notification_token and a api_version. You can use the notification_token param to get the payment information from the khipu service.

notification_token = params["notification_token"]
client    = Khipu::PaymentsApi.new
response  = client.payments_get(notification_token)
if response.status == 'done'
  # order = get_order(response.transaction_id)
  # if order != nil and is_valid?(order, response)
  #   setPurchased(order)
  # end
end

print response
 # response keys: 
 #   [
 #     :payment_id, :payment_url, :simplified_transfer_url, :transfer_url, 
 #     :app_url, :ready_for_terminal, :subject, :amount, :currency, :status, 
 #     :status_detail, :body, :picture_url, :receipt_url, :return_url, 
 #     :cancel_url, :notify_url, :notify_api_version, :expires_date, 
 #     :attachment_urls, :bank, :bank_id, :payer_name, :payer_email, 
 #     :personal_identifier, :bank_account_number, :out_of_date_conciliation, 
 #     :transaction_id, :custom, :responsible_user_email, :send_reminders, :send_email
 #   ] 

About

A ruby wrapper for the khipu APIs

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.