lib 文件夹下是 Ruby SDK 文件,
example 文件夹里面是一个简单的接入示例,该示例仅供参考。
Ruby 版本 1.8.7 及以上
gem install pingpp
或者使用源码构建:
gem build pingpp.gemspec
gem install pingpp-<VERSION>.gem
require "pingpp"
Pingpp.api_key = "YOUR-KEY"
Pingpp::Charge.create(
:order_no => "123456789",
:app => { :id => "APP_ID" },
:channel => channel,
:amount => 100,
:client_ip => "127.0.0.1",
:currency => "cny",
:subject => "Your Subject",
:body => "Your Body"
)
Pingpp::Charge.retrieve("CHARGE_ID")
Pingpp::Charge.all(:limit => 5)
Pingpp::Charge.retrieve("CHARGE_ID").refunds.create(:description => "Refund Description")
Pingpp::Charge.retrieve("CHARGE_ID").refunds.retrieve("REFUND_ID")
Pingpp::Charge.retrieve("CHARGE_ID").refunds.all(:limit => 5)
Pingpp::RedEnvelope.create(
:order_no => "123456789",
:app => { :id => "APP_ID" },
:channel => "wx_pub",
:amount => 100,
:currency => "cny",
:subject => "Your Subject",
:body => "Your Body",
:extra => {
:nick_name => "Nick Name",
:send_name => "Send Name"
},
:recipient => "Openid",
:description => "Your Description"
)
如果使用微信 JS-SDK 来调起支付,需要在创建 charge
后,获取签名(signature
),传给 HTML5 SDK。
jsapi_ticket = Pingpp::WxPubOauth.get_jsapi_ticket(wx_app_id, wx_app_secret)
ticket = jsapi_ticket['ticket']
正常情况下,jsapi_ticket
的有效期为 7200 秒。由于获取 jsapi_ticket
的 api 调用次数非常有限,频繁刷新 jsapi_ticket
会导致 api 调用受限,影响自身业务,开发者必须在自己的服务器全局缓存 jsapi_ticket
。
下面方法中 url
是当前网页的 URL,不包含#
及其后面部分
signature = Pingpp::WxPubOauth.get_signature(charge, ticket, url)
然后在 HTML5 SDK 里调用
pingpp.createPayment(charge, callback, signature, false);
Pingpp::Event.retrieve("EVENT_ID")
Pingpp::Event.all(:limit => 5)
Pingpp::Transfer.create(
:order_no => "123456789",
:app => { :id => "APP_ID" },
:channel => "wx_pub",
:amount => 100,
:currency => "cny",
:type => "b2c",
:recipient => "Openid",
:description => "Your Description"
)
Pingpp::Transfer.retrieve("TRANSFER_ID")
Pingpp::Transfer.all(:limit => 5)
详细信息请参考 API 文档。