liqpay / sdk-ruby

LiqPay ruby sdk
22 stars 17 forks source link

Ошибка в формировании сигнатуры #1

Open bublik opened 10 years ago

bublik commented 10 years ago

Формирование сигнатуры Подставляю ваши даные

def liqpay_test secrets = Rails.application.secrets liqpay_full = Liqpay::Liqpay.new( :host => 'https://www.liqpay.com/api/', :private_key => 'private_key', :public_key => 'public_key' ) liqpay_full.cnb_form( :amount => "1.2", :currency => "USD", :description => "my comment", :language => "en" ) end Сигнатура такая как в тестах

Когда формирую форму со своими данными

`

          <input type="hidden" name="amount" value="300">
          <input type="hidden" name="currency" value="UAH">
          <input type="hidden" name="description" value="Send my CV: Voloshin Ruslan (test4@gg.com)">
          <input type="hidden" name="sandbox" value="1">
          <input type="hidden" name="type" value="buy">
          <input type="hidden" name="server_utl" value="http://icrewing.com/orders/confirm">
          <input type="hidden" name="return_url" value="http://icrewing.com/orders/status/10-1405263172-send_cv">
          <input type="hidden" name="public_key" value="i74346430130">
          <input type="hidden" name="signature" value="6imi1pW1Sj3iSPQuabkyAAORa/c=">
          <input type="image" src="//static.liqpay.com/buttons/p1ru.radius.png" name="btn_text">
          </form>`

Ваш сервег пишет что сигнатура не верная, не могли бы вы проверить правильность работы подписывания.

Хотя странно, пару раз у меня она оказывалась верной.

OlegPasko commented 9 years ago

+1 ;( @bublik , как то разрешилось? :)

ruslanpalagin commented 9 years ago

решение: в config/initializers/liqpay.rb пишем и перезапускаем сервер. Base64.encode64 добавляет лишние \n

module Liqpay
  class Coder
    def self.encode64(param)
      # плохо
      # (Base64.encode64 param).chomp

      # хорошо
      Base64.strict_encode64 param
    end # base64
  end # Coder
end # Liqpay
amseledka commented 6 years ago

я так понимаю этy issue можно закрывать, тк исправили в https://github.com/liqpay/sdk-ruby/commit/1c555ffa2d1a77e7d86a636ca0fdf5b77c62a90a#diff-8e86df0402e623056d2ed7feda037fc8R30