alipay_mobile

所属分类:支付接口
开发工具:Ruby
文件大小:0KB
下载次数:0
上传日期:2021-05-25 05:48:41
上 传 者sh-1993
说明:  支付宝_移动,,
(alipay_mobile,,)

文件列表:
Gemfile (91, 2021-05-24)
Gemfile.lock (347, 2021-05-24)
Rakefile (173, 2021-05-24)
alipay_mobile.gemspec (974, 2021-05-24)
lib/ (0, 2021-05-24)
lib/alipay_mobile.rb (279, 2021-05-24)
lib/alipay_mobile/ (0, 2021-05-24)
lib/alipay_mobile/notify.rb (494, 2021-05-24)
lib/alipay_mobile/service.rb (1823, 2021-05-24)
lib/alipay_mobile/sign.rb (437, 2021-05-24)
lib/alipay_mobile/utils.rb (602, 2021-05-24)
lib/alipay_mobile/version.rb (44, 2021-05-24)
test/ (0, 2021-05-24)
test/notify_test.rb (986, 2021-05-24)
test/service_test.rb (85, 2021-05-24)
test/sign_test.rb (574, 2021-05-24)
test/utils_test.rb (339, 2021-05-24)
test_helper.rb (162, 2021-05-24)

# AlipayMobile A simple alipay_mobile ruby gem, without unnecessary magic or wraper, it's directly facing how alipay_mobile api works. ## Installation Add this line to your application's Gemfile: ```ruby gem 'alipay_mobile', :git => 'https://github.com/oldfritter/alipay_mobile.git' ``` And then execute: ```sh $ bundle install ``` ## Usage ### Config ```ruby AlipayMobile.pid = 'YOUR_PID' AlipayMobile.key = 'YOUR_KEY' AlipayMobile.seller_email = 'YOUR_SELLER_EMAIL' ``` ### Generate payment url ```ruby options = {req_id: orders.first.payment_sn, format: 'xml', v: '2.0', sec_id: 'MD5'} options[:req_data] = " #{order.subject} #{order.out_trade_no} #{order.order_total_price} #{Alipay.seller_email} #{call_back_url} #{notify_url} #{order.out_user} #{merchant_url} 3600 1 ".gsub(/[\r\n]+/,'') #获取token: url = AlipayMobile::Service.mobile_web_instant_credit_authorization(options) @token = open(url) {|resp|return Nokogiri::HTML(URI.unescape resp.read).css('request_token').text} #交易 options = { service: 'alipay.wap.auth.authAndExecute', _input_charset: 'utf-8', partner: AlipayMobile.pid, seller_email: AlipayMobile.seller_email, req_id: order.uniq_id, format: 'xml', v: '2.0', sec_id: 'MD5' } options[:req_data] = "#{@token}" payment_url = AlipayMobile::Service.mobile_web_instant_credit_transaction_url(options) redirect_to payment_url ``` You can redirect user to this payment url, and user will see a payment page for his/her order. Current support three payment type: ```ruby AlipayMobile::Service#mobile_web_instant_credit_authorization # 手机网页即时到账授权接口 AlipayMobile::Service#mobile_web_instant_credit_transaction_url # 手机网页即时到账交易接口 ``` ### Verify notify ```ruby # example in rails require 'nokogiri' def alipay_mobile_notify return false unless AlipayMobile::Notify.verify? params nokogiri = Nokogiri::XML params['notify_data'] payment_history = PaymentHistory.where(payment_sn: nokogiri.css('out_trade_no').text).first # PaymentHistory is a Model in my project. if nokogiri.css('trade_status').text == 'TRADE_FINISHED' || nokogiri.css('trade_status').text == 'TRADE_SUCCESS' .....your code.... end render text: 'success' # Here must return 'success'. end ``` ## Contributing Bug report or pull request are welcome. leon.zcf(at)gmail.com

近期下载者

相关文件


收藏者