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...