Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

#Unitpay ##Установка Внесите эту строчку в ваш gem файл

gem'unitpay-api'

И затем выполните команду

bundle

Или установите вручную с помощью

geminstallunitpay_api

Теперь включите в проект с помощью

require'unitpay_api'

##Примеры использования API для фреймворка Rails ###Пример использования API для отображения формы:

classUnitpayController < ApplicationControllerdefpaymentdomain='unitpay.money'# Your working domain: unitpay.money or unitpay.rusecretKey='asdfsd3243adsfa32fsa2345r3e3w3rf'publicKey='9978-2bfc2'summ='10.00'account='asdf-1234-fds1'desc='Платеж по заказу'unitpay=UnitPay.new(domain,secretKey)url=unitpay.form(publicKey,summ,account,desc)redirect_tourlendend

###Пример использования API для написания запросов к сервисам unitpay.ru и unitpay.money

classUnitpayController < ApplicationControllerdefpaymentdomain='unitpay.money'# Your working domain: unitpay.money or unitpay.rusecretKey='asdfsd3243adsfa32fsa2345r3e3w3rf'publicKey='9978-2bfc2'summ='10.00'account='asdf-1234-fds1'desc='Платеж по заказу'currency='RUB'projectId='9978'unitpay=UnitPay.new(domain,secretKey)response=unitpay.api('initPayment',{'account'=>account,'desc'=>desc,'sum'=>summ,'paymentType'=>'yandex','currency'=>currency,'projectId'=>projectId,});#If need user redirect on Payment Gateif !!response['result'] && !!response['result']['type'] && response['result']['type'] == 'redirect'# Url on PaymentGateurl=response['result']['redirectUrl']# Payment ID in Unitpay (you can save it)paymentId=response['result']['paymentId']# User redirectredirect_tourlelsif !!response['result'] && !!response['result']['type'] && response['result']['type'] == 'invoice'# Url on receipt page in Unitpayurl=response['result']['receiptUrl']# Payment ID in Unitpay (you can save it)paymentId=response['result']['paymentId']# Invoice Id in Payment Gate (you can save it)invoiceId=response['result']['invoiceId']# User redirectredirect_tourlelsif !!response['error'] && !!response['error']['message']# text error messageerror=response['error']['message']endendend

###пример callback'а

classUnitpayController < ApplicationControllerdefcallbackdomain='unitpay.money'# Your working domain: unitpay.money or unitpay.rusecretKey='asdfsd3243adsfa32fsa2345r3e3w3rf'summ='10.00'account='asdf-1234-fds1'currency='RUB'projectId='9978'beginunitpay=UnitPay.new(domain,secretKey)method=params[:method]ifparams[:params].nil?p={}elsep=params[:params]endip=request.remote_ipunitpay.checkHandlerRequest(method,params,ip)ifp['orderSum'] != summ ||
p['orderCurrency'] != currency ||
p['account'] != account ||
p['projectId'] != projectIdraise'Order validation error'endif(method == 'check')json=unitpay.getSuccessHandlerResponse('Check Success. Ready to pay.')elsif(method == 'pay')json=unitpay.getSuccessHandlerResponse('Pay Success')elsif(method == 'error')json=unitpay.getSuccessHandlerResponse('Error logged')elsif(method == 'refund')json=unitpay.getSuccessHandlerResponse('Order canceled')endrender:json=>jsonrescueException=>eerror=e.messagerender:json=>unitpay.getErrorHandlerResponse(error)endendend

About

ruby sdk for unitpay payment

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages