ruby 支付寶介面

2021-08-30 20:59:35 字數 2064 閱讀 6031

alipay支付寶(ruby實現)

#alipay(支付寶)庫檔案

# ===使用方法如下:

key='pojyh234234234234234234qp4jeoz' # 密碼

config =

attributes=[:notify_url, :return_url, :show_url, :subject, :body, :out_trade_no, :price, :total_fee, :quantity, :buyer_email, :buyer_id]

arguments =config.keys + attributes

attr_accessor *attributes

def initialize(options={}, & block)

options.each ='#'" }

yield(self)

end#購買商品的uri

def uri

options = parameters

type, sign = sign(sign_type, options)

"#?%s&sign=#&sign_type=#" % options.map .join('&')

end#驗證通知的正確性

end#請求引數按照引數名字元公升序排列,如果有重複引數名,那麼重複的引數再按照引數值的字元公升序排列

#所有引數(除了sign和sign_type)按照上面的排序用&連線起來,格式是:p1=v1&p2=v2

def sign(sign_type, options={})

type = sign_type.to_s.upcase

if type.eql?('md5')

key = options.sort .map .join('&')

return type, digest::md5.hexdigest(key+alipay::merchant::key)

else

raise "unimplement other algorithm!"

endend

endend

支付寶介面

支付寶的介面呼叫很不方便,剛做好乙個封裝,實現了虛擬交易和實物交易。解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commona...

支付寶介面

解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commonalipay.dll 2 實現支付寶服務介面的方法呼叫方式 alipa...

支付寶介面

解決方案中有三個專案以及ndoc生成的文件,簡單的序列圖 commonalipay,封裝的支付寶介面。testali,asp.net的測試專案 testcommonalipay,nunit的測試專案。呼叫方法 1 引入commonalipay.dll 2 實現支付寶服務介面的方法呼叫方式 alipa...