Last active
September 14, 2018 08:04
-
-
Save creepycheese/f94c9e2a47b16f7303ba to your computer and use it in GitHub Desktop.
Интеграция Яндекс.Кассы. Выплаты на различные счета.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "yandex_kassa" | |
YandexKassa.configure do |config| | |
#url для тестовой среды Яндекс.Кассы | |
config.url = "https://bo-demo02.yamoney.ru:9094/webservice/deposition/api" | |
#Сертификат присланный вам сотрудником Яндекс.Денег | |
config.cert = "cert.cer" | |
#Сгенерированный вами приватный ключ, который ипользовался для запроса сертификата | |
config.key = "private.key" | |
#Сертификат для среды, к который вы будете делать запросы. Прислан сотрудником Яндекс.Денег | |
config.deposit = "deposit.cer" | |
#passphrase для ключа, если необходимо | |
config.passphrase = "" | |
end | |
api = YandexKassa.create | |
client_order_id = 160 # начальный clientOrderId, будет увеличиваться по мере совершения запросов на 1, чтобы все запросы имели уникальный clientOrderId | |
payment_params = { "skr_destinationCardSynonim" => "b0af887ae9ad01fe01ca65df7cff19a7b5fcbf9b_scn", | |
"pdr_firstName" => "Владимир", | |
"pdr_middleName" => "Владимирович", | |
"pdr_docNumber" => "4002109067", | |
"pdr_postcode" => "194044", | |
"pdr_country" => "643", | |
"pdr_city" => "Москва", | |
"pdr_adress" => "ул. Какая-то", | |
"pdr_birthDate" => "24.05.1987", | |
"pdr_birthplace" => "Новосибирск", | |
"pdr_docIssueYear" => "1999", | |
"pdr_docIssueMonth" => "7", | |
"pdr_docIssueDay" => "30", | |
"pdr_docIssuedBy" => "ТП", | |
"pof_offerAccepted" => 1, | |
"smsPhoneNumber" => "79653457676" | |
} | |
test_deposition_params = { | |
dst_account: "257003392579", amount: "100.00", currency: 10643, | |
agent_id: "200980", contract: "Fun stuff", client_order_id: client_order_id, request_dt: Time.now.iso8601, | |
payment_params: payment_params | |
} | |
["410039303350", "4100322407607", "410039303807"].each_with_index do |num, index| | |
puts "\n#{"*"*15}Счет: #{num}#{"*"*15}\n" | |
test_deposition_params[:dst_account] = num | |
puts "Запрос о возможности зачисления:" | |
puts api.test_deposition(test_deposition_params) | |
puts "\nЗачисление:" | |
test_deposition_params[:client_order_id] += 1 | |
puts api.make_deposition(test_deposition_params) | |
puts "\nПовтор зачисления:" | |
puts api.make_deposition(test_deposition_params) | |
puts "\nРазовое на 1500р" | |
test_deposition_params[:amount] = "1500.00" | |
test_deposition_params[:client_order_id] += 1 | |
puts api.make_deposition(test_deposition_params) | |
puts "\nПревышение лимита за период (6 платежей по 900р)" | |
6.times do | |
test_deposition_params[:client_order_id] += 1 | |
test_deposition_params[:amount] = "900.00" | |
puts api.make_deposition(test_deposition_params) | |
end | |
puts "\nЗапрос баланса" | |
puts api.balance(test_deposition_params) | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment