Class: Pay::JDGateway
- Inherits:
-
Object
- Object
- Pay::JDGateway
- Defined in:
- lib/pay/jd_gateway.rb
Constant Summary collapse
- URL_UTF8 =
"https://pay3.chinabank.com.cn/PayGate?encoding=UTF-8"
- URL =
"https://pay3.chinabank.com.cn"
Class Method Summary collapse
- .pay(v_mid, key, v_url, remark2, v_oid, v_amount, remark1, v_moneytype = "CNY") ⇒ Object
- .receive(params, key) ⇒ Object
Class Method Details
.pay(v_mid, key, v_url, remark2, v_oid, v_amount, remark1, v_moneytype = "CNY") ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/pay/jd_gateway.rb', line 6 def self.pay(v_mid, key, v_url, remark2, v_oid, v_amount, remark1, v_moneytype = "CNY") v_md5info = Digest::MD5.hexdigest(v_amount.to_s + v_moneytype + v_oid + v_mid + v_url + key).upcase html = '<html><head></head><body>' html += '<form method="post" name="cb_form" action="' + URL_UTF8 + '">' parameter = { 'v_oid' => v_oid, 'v_amount' => v_amount, 'v_moneytype' => v_moneytype, 'v_mid' => v_mid, 'v_url' => v_url, 'key' => key, 'v_md5info' => v_md5info, 'remark1' => remark1, 'remark2' => "[url:=#{remark2}]" } parameter.each do |key, val| html += "<input type='hidden' name='#{key}' value='#{val}' />" end html += '</form><script type="text/javascript">document.cb_form.submit();</script>' html += '</body></html>' end |
.receive(params, key) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/pay/jd_gateway.rb', line 28 def self.receive(params, key) v_oid = params["v_oid"] v_pstatus = params["v_pstatus"] v_pstring = params["v_pstring"] v_md5str = params["v_md5str"] v_amount = params["v_amount"] remark1 = params["remark1"] v_moneytype = params["v_moneytype"] if v_pstatus=="20" && v_md5str==Digest::MD5.hexdigest(v_oid+v_pstatus+v_amount+v_moneytype+key).upcase return {state: true, code: v_oid, amount: v_amount, remark1: remark1, v_pstring: v_pstring} else return {state: false, code: v_oid, amount: v_amount, remark1: remark1, result: v_pstring} end end |