gem install khipu-api-clientrequire'khipu-api-client'Khipu.configuredo |c|
c.secret='abc123'c.receiver_id=1234c.platform='my-ecomerce'# (optional) please let us know :)c.platform_version='1.0'endapi=Khipu::PaymentsApi.new()options={expires_date: Time.now + (24*60*60)# 1 day from nowsend_email: true,payer_name: "payer",payer_email: "payer@mail.com"}response=api.payments_post("Test de api nueva","CLP",1,options)printresponse# 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 systemreturn_url# after (potential) success, the client will be redirected to this urlcancel_url# if the payment is canceled, the client will be redirected to this urlnotify_url# khipu will send a notification to this url - the client will not see this requestnotify_api_version# "1.3"api=Khipu::PaymentsApi.new()status=api.payments_id_get(response.payment_id)printstatusIf 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.newresponse=client.payments_get(notification_token)ifresponse.status == 'done'# order = get_order(response.transaction_id)# if order != nil and is_valid?(order, response)# setPurchased(order)# endendprintresponse# 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# ]