微信公钥支付获取 RSA公钥 (SIGN_TYPE_INVALID)

949被浏览158902分享邀请回答1425 条评论分享收藏感谢收起41624 条评论分享收藏感谢收起查看更多回答拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3c4370-ua98).
重新安装浏览器,或使用别的浏览器接入 Ping++ 发起支付,服务器端需要做的就是向 Ping++ 请求 Charge 对象,然后返回给客户端,并且监听和获取 Webhooks 通知。主要分为以下几步:
设置 API-Key
SDK 验证签名设置
从服务端发起支付请求,获取支付凭据
将获得的支付凭据传给 Client
接收 Webhooks 通知
验证 Webhooks 签名
第一步:设置 API-Key
Ping++ API 交易时需要设置 API-Key,Server SDK 提供了设置的方法。如果你直接使用 API ,需要在 header 中加入 Authorization,格式是 Authorization: Bearer API-Key。
\Pingpp\Pingpp::setApiKey('sk_test_ibbTe5jLGCi5rzfH4OqPW9KC');
Pingpp.apiKey = "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC";
var pingpp = require('pingpp')('sk_test_ibbTe5jLGCi5rzfH4OqPW9KC');
pingpp.api_key = 'sk_test_ibbTe5jLGCi5rzfH4OqPW9KC'
Pingpp.api_key = "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC"
pingpp.Key = "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC"
Pingpp.Pingpp.SetApiKey("sk_test_ibbTe5jLGCi5rzfH4OqPW9KC");
第二步:SDK 验证签名设置
为了进一步增强交易请求的安全性,Ping++ 交易接口针对所有的 POST 和 PUT 请求已经新增 RSA 加密验签功能。如果使用该签名验证功能,你需要生成密钥,然后将私钥配置到你的代码中,公钥上传至 Ping++ 管理平台并启用验签开关。首先你需要本地生成 RSA 公钥和私钥,生成方法请参考:
设置请求签名密钥
你需要在代码中设置请求签名的私钥(rsa_private_key.pem),可以读取配置私钥文件的路径或者直接定义变量。你如果通过 API 接口校验的话,需要生成 RSA 签名(SHA256)并在请求头中添加 Pingplusplus-Signature,如果使用 SDK 的话只需要配置私钥即可。
\Pingpp\Pingpp::setPrivateKeyPath(__DIR__ . '/your_rsa_private_key.pem');
Pingpp.privateKeyPath = "/path/to/your_rsa_private_key.pem";
pingpp.setPrivateKeyPath(__dirname + "/your_rsa_private_key.pem");
pingpp.private_key_path = 'your_rsa_private_key.pem'
Pingpp.private_key_path = File.dirname(__FILE__) + '/your_rsa_private_key.pem'
privateKey, err := ioutil.ReadFile("your_rsa_private_key.pem")
Pingpp.Pingpp.SetPrivateKeyPath(@"../../your_rsa_private_key.pem");
上传公钥至 Ping++ 管理平台
设置完代码中的私钥,你需要将已经生成的公钥(rsa_public_key.pem)填写到 Ping++ 管理平台上,配置路径:
登录 Ping++ 管理平台-&点击右上角公司名称-&开发信息-&商户公钥(用于商户身份验证)-&将你的公钥复制粘贴进去并且保存-&先启用 Test 模式进行测试-&测试通过后启用 Live 模式
注意: 一旦上传公钥至 Ping++ 管理平台并启用 Live 模式,则验证签名功能即时生效,Ping++ 会立即验证你的真实线上交易验签请求。如果私钥为空或错误,则会交易失败,所以请确保测试模式正常后再启用 Live 开关。
第三步:从服务端发起支付请求,获取支付凭据
调用 Ping++ Server SDK 发起支付请求,发起请求所需参数具体可参考,不同的渠道只需要切换 channel以及对应的 extra 参数即可。
\Pingpp\Charge::create(array('order_no'
=& '','amount'
=& '100','app'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),'channel'
=& 'alipay','currency'
=& 'cny','client_ip' =& '127.0.0.1','subject'
=& 'Your Subject','body'
=& 'Your Body'));
Pingpp.apiKey = "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC";
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"alipay");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "alipay",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='alipay',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body'
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "alipay",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"}
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "alipay"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}}}; var ch = Charge.Create(chParams);
alipay_wap
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'alipay_wap',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
'success_url' =& '/success',
'cancel_url' =& '/cancel'
Pingpp.apiKey = "sk_test_ibbTe5jLGCi5rzfH4OqPW9KC";
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"alipay_wap");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("success_url", "/success");
extra.put("cancel_url", "/cancel");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "alipay_wap",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
success_url: "/success",
cancel_url: "/cancel"
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='alipay_wap',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(
success_url='/success',
cancel_url='/cancel')
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "alipay_wap",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {
:success_url =& "/success",
:cancel_url =& "/success"
extra := make(map[string]interface{})
extra["success_url"] = "/success"
extra["cancel_url"] = "/cancel"
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"alipay_wap",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "alipay_wap"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {
{"success_url", "/success"},
{"cancel_url":"/cancel"}
}}};var ch = Charge.Create(chParams);
alipay_pc_direct
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'alipay_pc_direct',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
=& array('success_url' =& '/success')
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"alipay_pc_direct");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("success_url", "/success");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "alipay_pc_direct",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
extra: {success_url: "/success"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='alipay_pc_direct',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(success_url='/success')
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "alipay_pc_direct",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {:success_url =& "/success"}
extra := make(map[string]interface{})
extra["success_url"] = "/success"
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"alipay_pc_direct",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "alipay_pc_direct"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {{"success_url", "/success"}}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body'
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "bfb",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='bfb',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body'
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"}
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "bfb"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'bfb_wap',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
'result_url' =& '/result',
'bfb_login' =& false)
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"bfb_wap");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("result_url", "/result");
extra.put("bfb_login", false);
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "bfb_wap",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
result_url: "/result",
bfb_login: false
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='bfb_wap',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(result_url='/result',bfb_login=false)
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "bfb_wap",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {
:result_url =& "/result",
:bfb_login =& false
extra := make(map[string]interface{})
extra["result_url"] = "/result"
extra["bfb_login"] = false
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"bfb_wap",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "bfb_wap"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {
{"result_url", "/result"},
{"bfb_login": false}
}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'upacp',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body'
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "upacp",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='upacp',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body'
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "upacp",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"}
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "upacp"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'upacp_wap',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
=& array('result_url' =& '/result')
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"upacp_wap");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("result_url", "/result");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "upacp_wap",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
extra: {result_url: "/result"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='upacp_wap',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(result_url='/result')
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "upacp_wap",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {:result_url =& "/result"}
extra := make(map[string]interface{})
extra["result_url"] = "/result"
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"upacp_wap",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "upacp_wap"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {{"result_url", "/result"}}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'upacp_pc',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
=& array('result_url' =& '/result')
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"upacp_pc");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("result_url", "/result");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "upacp_pc",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
extra: {result_url: "/result"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='upacp_pc',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(result_url='/result')
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "upacp_pc",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {:result_url =& "/result"}
extra := make(map[string]interface{})
extra["result_url"] = "/result"
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"upacp_pc",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "upacp_pc"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {{"result_url", "/result"}}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'cp_b2b',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body'
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"cp_b2b");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "cp_b2b",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='cp_b2b',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body'
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "cp_b2b",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"}
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "cp_b2b"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body'
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "wx",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='wx',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body'
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"}
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "wx"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'wx_pub',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
=& array('open_id' =& 'User OpenId')
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"wx_pub");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("open_id", "User OpenId");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "wx_pub",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
extra: {open_id: "User OpenId"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='wx_pub',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(open_id='User OpenId')
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "wx_pub",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {:open_id =& "User OpenId"}
extra := make(map[string]interface{})
extra["open_id"] = "User OpenId"
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "wx_pub"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {{"open_id", "User OpenId"}}}}; var ch = Charge.Create(chParams);
yeepay_wap
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'yeepay_wap',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
'product_category' =& '1',
'identity_id'=& 'Your identity_id',
'identity_type' =& 1,
'terminal_type' =& 1,
'terminal_id'=&'Your terminal_id',
'user_ua'=&'Your user_ua',
'result_url'=&'/result'
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"yeepay_wap");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("product_category", "1");
extra.put("identity_id", "Your identity_id");
extra.put("identity_type", 1);
extra.put("terminal_type", 1);
extra.put("terminal_id", "Your terminal_id");
extra.put("user_ua", "Your user_ua");
extra.put("result_url", "/result");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "yeepay_wap",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
product_category: "1",
identity_id: "Your identity_id",
identity_type: 1,
terminal_type: 1,
terminal_id: "Your terminal_id",
user_ua: "Your user_ua",
result_url: "/result"
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='yeepay_wap',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(
product_category='1',
identity_id='Your identity_id',
identity_type=1,
terminal_type=1,
terminal_id='Your terminal_id',
user_ua='Your user_ua',
result_url='/result'
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "yeepay_wap",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {
:product_category =& "1",
:identity_id =& "Your identity_id",
:identity_type =& 1,
:terminal_type =& 1,
:terminal_id =& "Your terminal_id",
:user_ua =& "Your user_ua",
:result_url =& "/result"
extra := make(map[string]interface{})
extra["product_category"] = "1"
extra["identity_id"] = "Your identity_id"
extra["identity_type"] = 1
extra["terminal_type"] = 1
extra["terminal_id"] = "Your terminal_id"
extra["user_ua"] = "Your user_ua"
extra["result_url"] = "/result"
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"yeepay_wap",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "yeepay_wap"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {
{"product_category", "1"},
{"identity_id": "Your identity_id"},
{"identity_type": 1},
{"terminal_type": 1},
{"terminal_id": "Your terminal_id"},
{"user_ua": "Your user_ua"},
{"result_url": "/result"}
}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'jdpay_wap',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
'success_url' =& '/success',
'fail_url'=& '/fail',
'token' =& 'Your Token',
'is_mobile' =& false,
'order_type' =& '1'
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"jdpay_wap");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("success_url", "/success");
extra.put("fail_url", "/fail");
extra.put("token", "Your Token");
extra.put("is_mobile",false);
extra.put("order_type", "1");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "jdpay_wap",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
success_url: "/success",
fail_url: "/fail",
token: "Your Token",
is_mobile: false,
order_type:"1"
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='jdpay_wap',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(
success_url='/success',
fail_url='/fail',
token='Your Token',
is_mobile=false,
order_type='1'
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "jdpay_wap",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {
:success_url =& "/success",
:fail_url =& "/fail",
:token =& "Your Token"
:is_mobile =& false,
:order_type =& "1"
extra := make(map[string]interface{})
extra["success_url"] = "/success"
extra["fail_url"] = "/fail"
extra["token"] = "Your Token"
extra["is_mobile"] = false
extra["order_type"] = "1"
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"jdpay_wap",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "jdpay_wap"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {
{"success_url", "/success"},
{"fail_url": "/fail"},
{"token": "Your Token"},
{"is_mobile": false},
{"order_type":"1"}
}}}; var ch = Charge.Create(chParams);
applepay_upacp
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'applepay_upacp',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body'
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"applepay_upacp");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "applepay_upacp",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='applepay_upacp',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body'
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "applepay_upacp",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"}
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"applepay_upacp",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "applepay_upacp"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}}}; var ch = Charge.Create(chParams);
fqlpay_wap
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'fqlpay_wap',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
'c_merch_id' =& '21321',
'return_url'=& '/return'
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"fqlpay_wap");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("c_merch_id", "21321");
extra.put("return_url", "/return");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "fqlpay_wap",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
c_merch_id: "21321",
return_url: "/return"
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='fqlpay_wap',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(
c_merch_id='21321',
return_url='/return'
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "fqlpay_wap",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {
:c_merch_id =& "21321",
:return_url =& "/return"
extra := make(map[string]interface{})
extra["c_merch_id"] = "21321"
extra["return_url"] = "/return"
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"fqlpay_wap",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "fqlpay_wap"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {
{"c_merch_id", "21321"},
{"return_url": "/return"}
}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'qgbc_wap',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
'phone' =& '',
'return_url'=& '/return',
'activate_url'=&'/activate',
'has_header'=&true
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"qgbc_wap");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("phone", "");
extra.put("return_url", "/return");
extra.put("activate_url", "/activate");
extra.put("has_header", true);
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "qgbc_wap",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
phone: "",
return_url: "/return",
activate_url: "/activate",
has_header: true
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='qgbc_wap',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(
return_url='/return',
activate_url="/activate",
has_header=true
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "qgbc_wap",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {
:phone =& "",
:return_url =& "/return",
:activate_url =& "/activate",
:has_header =& true
extra := make(map[string]interface{})
extra["phone"] = ""
extra["return_url"] = "/return"
extra["activate_url"] = "/activate"
extra["has_header"] = true
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"qgbc_wap",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "qgbc_wap"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {
{"phone", ""},
{"return_url": "/return"},
{"activate_url": "/activate"},
{"has_header": true}
}}}; var ch = Charge.Create(chParams);
cmb_wallet
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'cmb_wallet',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
'result_url' =& '/result',
'p_no'=& '',
'seq'=&'',
'm_uid'=&'',
'mobile'=&''
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"cmb_wallet");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("result_url", "/result");
extra.put("p_no", "");
extra.put("seq", "");
extra.put("m_uid", "");
extra.put("mobile", "");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "cmb_wallet",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
result_url: "/result",
m_uid: "",
mobile: ""
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='cmb_wallet',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(
result_url='/result',
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "cmb_wallet",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {
:result_url =& "/result",
:p_no =& "",
:seq =& "",
:m_uid =& "",
:mobile =& ""
extra := make(map[string]interface{})
extra["result_url"] = "/result"
extra["p_no"] = ""
extra["seq"] = ""
extra["m_uid"] = ""
extra["mobile"] = ""
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"cmb_wallet",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "cmb_wallet"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {
{"result_url", "/result"},
{"p_no": ""},
{"seq": ""},
{"m_uid": ""},
{"mobile": ""}
}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'wx_wap',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body'
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 100);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"wx_wap");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 100,
order_no: "",
channel: "wx_wap",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"}
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount=100,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='wx_wap',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body'
Pingpp::Charge.create(
:order_no =& "",
=& "Your Subject",
=& "Your Body",
=& "wx_wap",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"}
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 100},
{"channel", "wx_wap"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}}}; var ch = Charge.Create(chParams);
"id": "ch_zjbDC8j5CSiTPenDK4C0qLaD",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "wx_wap",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {},
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_zjbDC8j5CSiTPenDK4C0qLaD/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"wx_wap": "/pay/wappay?token_id=34e0a79e50d3ced9220143&service=pay.weixin.wappay"
"description": "Your Description"}
mmdpay_wap
\Pingpp\Charge::create(array(
'order_no'
=& '200000',
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'mmdpay_wap',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
'id_no': '280000',
'name': '张三',
'phone': ''
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 200000);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
"mmdpay_wap");
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("id_no", "280000");
extra.put("name", "张三");
extra.put("phone", "");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 200000,
order_no: "",
channel: "mmdpay_wap",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
id_no: "280000",
name: "张三",
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount= 200000,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='mmdpay_wap',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(
id_no ='280000',
name ='张三',
Pingpp::Charge.create(
:order_no =& "",
=& 200000,
=& "Your Subject",
=& "Your Body",
=& "mmdpay_wap",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {
: id_no =& "280000",
: name =& "张三",
: phone =& "",
extra := make(map[string]interface{})
extra["id_no"] = "280000"
extra["name"] = "张三"
extra["phone"] = ""
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
"mmdpay_wap",
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 200000},
{"channel", "mmdpay_wap"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {
{"id_no", "280000"},
{"name": "张三"},
{"phone": ""}
}}}; var ch = Charge.Create(chParams);
\Pingpp\Charge::create(array(
'order_no'
=& '200000',
=& array('id' =& 'app_1Gqj58ynP0mHeX1q'),
=& 'qpay',
'currency'
'client_ip' =& '127.0.0.1',
=& 'Your Subject',
=& 'Your Body',
'device' =& 'ios'
Map&String, Object& chargeParams = new HashMap&String, Object&();
chargeParams.put("order_no",
chargeParams.put("amount", 200000);
Map&String, String& app = new HashMap&String, String&();
app.put("id", "app_1Gqj58ynP0mHeX1q");
chargeParams.put("app", app);
chargeParams.put("channel",
chargeParams.put("currency", "cny");
chargeParams.put("client_ip",
"127.0.0.1");
chargeParams.put("subject",
"Your Subject");
chargeParams.put("body",
"Your Body");
Map&String, String& extra = new HashMap&String, String&();
extra.put("device", "ios");
chargeParams.put("extra", extra);
Charge.create(chargeParams);
pingpp.charges.create({
subject: "Your Subject",
body: "Your Body",
amount: 200000,
order_no: "",
channel: "qpay",
currency: "cny",
client_ip: "127.0.0.1",
app: {id: "app_1Gqj58ynP0mHeX1q"},
device : "ios"
}, function(err, charge) {
ch = pingpp.Charge.create(
order_no='',
amount= 200000,
app=dict(id='app_1Gqj58ynP0mHeX1q'),
channel='qpay',
currency='cny',
client_ip='127.0.0.1',
subject='Your Subject',
body='Your Body',
extra=dict(
device ='ios'
Pingpp::Charge.create(
:order_no =& "",
=& 200000,
=& "Your Subject",
=& "Your Body",
=& "qpay",
:currency =& "cny",
:client_ip=& "127.0.0.1",
:app =& {:id =& "app_1Gqj58ynP0mHeX1q"},
:extra =& {
: qpay =& "ios"
extra := make(map[string]interface{})
extra["device"] = "ios"
params := &pingpp.ChargeParams{
pingpp.App{Id: "app_1Gqj58ynP0mHeX1q"},
Client_ip: "127.0.0.1",
"Your Subject",
"Your Body",
ch, err := charge.New(params)
var chParams = new Dictionary&string, object&{
{"order_no", ""},
{"amount", 200000},
{"channel", "qpay"},
{"currency", "cny"},
{"subject", "Your Subject"},
{"body", "Your Body"},
{"client_ip", "127.0.0.1"},
{"app", new Dictionary&string, string& {{"id", "app_1Gqj58ynP0mHeX1q"}}},
{"extra", new Dictionary&string, object& {
{"device", "ios"}
}}}; var ch = Charge.Create(chParams);
Ping++ 收到支付请求后返回给你的服务器一个 Charge 对象,我们称这个 Charge 对象为支付凭据。下面是支付凭据的一个示例:
"id": "ch_a5OinLGyzzjLXPSOy9rPKKiL",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "alipay",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {},
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_a5OinLGyzzjLXPSOy9rPKKiL/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"alipay": {
"orderInfo": "service=\"mobile.securitypay.pay\"&_input_charset=\"utf-8\"&notify_url=\"https%3A%2F%%2Fnotify%2Fcharges%2Fch_a5OinLGyzzjLXPSOy9rPKKiL\"&partner=\"3982\"&out_trade_no=\"\"&subject=\"Your Subject\"&body=\"Your Body\"&total_fee=\"0.10\"&payment_type=\"1\"&seller_id=\"3982\"&it_b_pay=\" 11:43:41\"&sign=\"ODRJPReSwsH8om5fGTqvhia9453k4eUaaGMJTLMTnEYbBuceMyTathvKtdnUpsP6Q5%2F5jcEV887EdtBWi4tuMFHPQmm4dz1nG6b4Blafi6v2tvKaf8b0RiQTOycU4SxigugKoyfeR6E4AGA6uIzWUBRpkq%2BZf65eqT0qe712BJ0%3D\"&sign_type=\"RSA\""
"description": "Your Description"}
alipay_wap
"id": "ch_9O44yLSy98iDjLaPmD1S48qT",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "alipay_wap",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {
"success_url": "/success",
"cancel_url": "/cancel"
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_9O44yLSy98iDjLaPmD1S48qT/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"alipay_wap": {
"_input_charset": "utf-8",
"format": "xml",
"partner": "3982",
"req_data": "&auth_and_execute_req&&request_token&d7f0c67ca9f5c17f71&/request_token&&/auth_and_execute_req&",
"sec_id": "0001",
"service": "alipay.wap.auth.authAndExecute",
"v": "2.0",
"sign": "LSctKFOSV5tYcfAAwiuEhY/W13jKn3IY956vvrI4WZFNPz8TmOROeSBnryAnVOHIAG26SgTqQHj7mdMSvwhZyFTnYBKgPGHflRbxSC6IoxjTigJthGMguaxLTAtgRomuFF2BLqDR26dPDxf6LB+9q7N+Pa5kC5K/i7yv5b6YZ38="
"description": "Your Description"}
alipay_pc_direct
"id": "ch_CqPS8SbTyLSOur1uTSn9W9aP",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "alipay_pc_direct",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {
"success_url": "/success"
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_CqPS8SbTyLSOur1uTSn9W9aP/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"alipay_pc_direct": {
"service": "create_direct_pay_by_user",
"_input_charset": "utf-8",
"return_url": "/success",
"notify_url": "/notify/charges/ch_CqPS8SbTyLSOur1uTSn9W9aP",
"partner": "0282",
"out_trade_no": "",
"subject": "Your Subject",
"body": "Your Body",
"total_fee": "0.10",
"payment_type": 1,
"seller_id": "8982",
"it_b_pay": "1d",
"sign": "JwXwOCkFnrQgEXOShwSek7Fu4dzXFCN/ihwOraPFoJ1vhNbhnUHm6SSwYZ+uYFyEiv7LvJLASqknQn9y+TaD4XgE6CAg7ez0MncLy1T5eqTHl+EqTgszMATcFVwAxRu4HOmtTujLL3XqOxdc4LQmnVr2nMsmV0WjE7v73Cu+8vs=",
"sign_type": "RSA"
"description": "Your Description"}
"id": "ch_LOGW1OGmDKeLfzjXrTO0avn1",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "bfb",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {},
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_LOGW1OGmDKeLfzjXrTO0avn1/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"service_code": "1",
"sp_no": "",
"order_create_time": "28",
"order_no": "",
"goods_name": "Your%20Subject",
"goods_desc": "Your%20Body",
"total_amount": 100,
"currency": "1",
"return_url": "/notify/charges/ch_LOGW1OGmDKeLfzjXrTO0avn1",
"pay_type": "2",
"input_charset": "1",
"version": "2",
"sign_method": "1",
"extra": "ch_LOGW1OGmDKeLfzjXrTO0avn1",
"expire_time": "28",
"sign": "5ccb5d5afdab"
"description": "Your Description"}
"id": "ch_GSGGqTvXbLOKvr5CuDHiPKy5",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "bfb_wap",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {
"bfb_login": false,
"result_url": "/result"
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_GSGGqTvXbLOKvr5CuDHiPKy5/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"bfb_wap": {
"service_code": "1",
"sp_no": "",
"order_create_time": "44",
"order_no": "",
"goods_name": "Your%20Subject",
"goods_desc": "Your%20Body",
"total_amount": 100,
"currency": "1",
"return_url": "/notify/charges/ch_GSGGqTvXbLOKvr5CuDHiPKy5",
"pay_type": "2",
"input_charset": "1",
"version": "2",
"sign_method": "1",
"extra": "ch_GSGGqTvXbLOKvr5CuDHiPKy5",
"page_url": "/result",
"expire_time": "44",
"sign": "908f79e86e5be16c39a0e8cc7151ba72",
"url": "/api/0/pay/0/wapdirect/0"
"description": "Your Description"}
"id": "ch_WzPaT8HKSyP89eLaH80mD440",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "upacp",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {},
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_WzPaT8HKSyP89eLaH80mD440/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"upacp": {
"mode": "00"
"description": "Your Description"}
"id": "ch_mXfH40mL8OW9q1Ka9KW9eHSS",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "upacp_wap",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {
"result_url": "/result"
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_mXfH40mL8OW9q1Ka9KW9eHSS/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"upacp_wap": {
"accessType": "0",
"backUrl": "/notify/charges/ch_mXfH40mL8OW9q1Ka9KW9eHSS",
"bizType": "000000",
"certId": "",
"channelType": "08",
"currencyCode": "156",
"customerIp": "127.0.0.1",
"encoding": "UTF-8",
"frontUrl": "/result",
"merId": "438",
"orderDesc": "Your Subject",
"orderId": "",
"payTimeout": "27",
"reqReserved": "ch_mXfH40mL8OW9q1Ka9KW9eHSS",
"signMethod": "01",
"txnAmt": "10",
"txnSubType": "01",
"txnTime": "27",
"txnType": "01",
"version": "5.0.0",
"signature": "J4ruMZQ5FNcVBECN1foTW2qSTot6vYCaogpZm78eXAr8tOeupBevfjlapLDhv5WagdeFzobQAXBG8kjr6mh4rI4TqAkG1MHIDuNxNrh04jnBwSBzPfTVGRWSlfllv3M5+dfjtsFO5mP2nAoyjVRuYHqkX8YFeZ+bsTHL+H72RAA4WurKN1VAGH+icBzmjASzEa7nRKU/8kzScAdE6Muhm6g4zRD38cmC/gS8FF1d2+C2OemhSdGRDKCyHb36zlVO9TYiq6zMldBOmuBSHSrYhnCQugM+cdnM5yjvYiLWgRdkoIj8RrFHcJBqFsOCxlxarAixl6jKrEc5Ebdny0P8Pw=="
"description": "Your Description"}
"id": "ch_1q5OiHifXDq1nbvjnPz5mjTO",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "upacp_pc",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {
"result_url": "/result"
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_1q5OiHifXDq1nbvjnPz5mjTO/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"upacp_pc": {
"accessType": "0",
"backUrl": "/notify/charges/ch_1q5OiHifXDq1nbvjnPz5mjTO",
"bizType": "000000",
"certId": "",
"channelType": "07",
"currencyCode": "156",
"customerIp": "127.0.0.1",
"encoding": "UTF-8",
"frontUrl": "/result",
"merId": "617",
"orderDesc": "Your Subject",
"orderId": "",
"payTimeout": "04",
"reqReserved": "ch_1q5OiHifXDq1nbvjnPz5mjTO",
"signMethod": "01",
"txnAmt": "10",
"txnSubType": "01",
"txnTime": "04",
"txnType": "01",
"version": "5.0.0",
"signature": "TCR83uPga+8ryD1xj5sEjOnEBSnhft7m4HXjQ8HdM4Siq/uRR9vSwG1zbAvU4MewOv/6Z5f0WR2U4WBmdvHDAzD863ONzRtrfEE2BUxBJYtdsIQ4uRfIL2SBELO8fENSLFGOk2e9IK+tYmEHO6dDzK8/mo6moAA/lcTzPmeR15zQiyEbNSYShxlXXpQmHZmLTjpdhEwpbFJF4tihGcwmeTLdV3maRpxo5F7+ahDkyBYgasG0f+pU/52HwhPDcyaZuOmn8CaDC/h/hHpXiOjtdz4yFGRZhqVRF849A4o8tBFtnQW6J5zYpSzTHgujlPaizTsNyLSoWZIRM2S+Tr7iYA=="
"description": "Your Description"}
"id": "ch_WfvDmDyXjn5Gi9aTCOzjXPG4",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "cp_b2b",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {},
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_WfvDmDyXjn5Gi9aTCOzjXPG4/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"cp_b2b": {
"Version": "",
"MerId": "091",
"MerOrderNo": "",
"TranDate": "",
"TranTime": "125331",
"OrderAmt": 10,
"BusiType": "0001",
"MerBgUrl": "/notify/charges/ch_WfvDmDyXjn5Gi9aTCOzjXPG4",
"Signature": "H7eU9gLxln0l9kWDpUhhCT6BtMa4PQwNbKEE3WnekUrDJAsu1b7B9hSZHLI7XABziox0aJ+ldAxRr/7dv7DfJPnKiZzMasST8lYoNi5bHSyTv8nJ3OxQhZesSSqGUiWBCt7yDNPGeDsp02Jx0drsgfsyrPGxB2sG6yiXeH97Qyk="
"description": "Your Description"}
"id": "ch_a1aX1CzDmnz1jDCu5OGWfzfT",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "wx",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {},
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_a1aX1CzDmnz1jDCu5OGWfzfT/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"appId": "wx3eua2486c6tcb2b6",
"partnerId": "",
"prepayId": "wx17e5ce8939",
"nonceStr": "bb3cc8d0d56ebf2cfcfeb20c2303759e",
"timeStamp": ,
"packageValue": "Sign=WXPay",
"sign": "T8BC1DBE15G446BED4B570"
"description": "Your Description"}
"id": "ch_zXnfHGDOurL4LubPa15CeXf5",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "wx_pub",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {
"open_id": "o9zpMs7Xk7e9aJbTXgufovuWGp8c"
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_zXnfHGDOurL4LubPa15CeXf5/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"wx_pub": {
"appId": "wx95dtc7",
"timeStamp": "",
"nonceStr": "723d051e687d5ad68e0d",
"package": "prepay_id=wx29437b16dede",
"signType": "MD5",
"paySign": "64CF1C50E6E"
"description": "Your Description"}
yeepay_wap
"id": "ch_4e5qnLajLufL48eTmLKKGOS0",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "yeepay_wap",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {
"product_category": 1,
"identity_id": "kBjVoNLgXIBHlJxaAJIPuUvIUGivLkgFPhIONksqKPCmHlTotN",
"identity_type": 1,
"terminal_type": 1,
"terminal_id": "gSvFOVTHTIJOwFMWvmka",
"user_ua": "Mozilla/5.0 (M Intel Mac OS X 10.10; rv:36.0) Gecko/ Firefox/36.0",
"result_url": "/result"
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_4e5qnLajLufL48eTmLKKGOS0/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"yeepay_wap": {
"merchantaccount": "",
"encryptkey": "DNWDtBcCUtdpo+OthaxUkS7/qpxeAYEerEVYL2kI+dkMGYztlyvmvEFbkBxiq/h9TBnQxnRGu4UdODRjJmktT6NNWwIOWU5pLDcu7TsRTJMfvJH1o3425S86gLs28jl3+gqzQ6igyU2dIfQaX6NwtWX1OWLPP/ALcT3ydbIuPAU=",
"data": "hcacFk+TeY1uyUwi+8THY1LTZqS0pP2HMcf2gDE8sdeMsdy3hNc7ilrlDdgv3nqVi8QDSdE2C6nXNk8yvKex5Uz77lNH9uOJaIELRQzrfo0EpD/r3Go+2Qr3m8eHxD8xq05ZFhBbE3vms9qszScTi8UjVBeiyTNxXpT5I8NDm4mJxCPDwyjGkYyUgYdfvpvHt9VA5ShcmKuqZCnF7SZ4PcYezwYvdP6HqBE4is/KQqqME3q+sTpiPc1kFb2QMvKg2JLatTgvaB1QIZzR1UZCcgPc1vUA1gtxzSiWgu2/2Sm+wvWS6VzOX7mG33Ot74mj04SuDVU4jzXdtqJ7u7VG90p2PGYgX+blh4c511Dn39/VTi8zMQxkUVyUINsdHtJwtNPMJAMhPwCt6QAElZnAkpBjd7N8cKVE1GidSKJr1+b/wY7oo7rtV7syzgjAn8B1eDD27AD3OMP5ybGV4VTMtHy83p0hanGCE0H1UNdM8gcV+aLRc3+eHruIXX5ywAV9XQtuE/wdQ3+Tyi8hfgLO6IzaL/id4qGNsCOKmUsiZwk8MQsWHDtznMzEJ4A7RB7YeIO1NdJi9tJpFFEBVKgjyioCE6EVnJ18QuYp/4LXabxodoHwEs7WqUrF4jHaztdHij+Q3fPTp1T6wJE7oOmHSwhB7ACwxssuv634+sYH2wVnfWgq4R7JVp+q4g702psJyzBywmS8sQ0zeTmeoR4a1/SAzQJqhPE01cjy+CWVc9qtORfOABUF7PGjlA3FXKycJIIAK1TAOLuu5FYMgl5t9ATSOo/d1FZJswFYHE8PQutjAVF677u6+W4z/NX5BnTu52gTkN4JsMKCW5vk+TbdCqANy5VS8uNNqPjAtHwJSWfIuvQ+iETsUO+yEOzOPumRTdA9iOgTz4W1Eyb+rpSe+SuV3sMR3tgPqeVo5tCC3Fpi0bjywN6dM5kaJ+IH8+skrmslBKGIL9MwPM1V9+15kvAlm4xQIUCESdvIXFsASpxfTY/P4TwYu7Gvy0fyrjM9Ok0A5Q3V2uPXJoXaj4jP2nIgMOEzfK3E4v4qV0fw73w=",
"mode": "live"
"description": "Your Description"}
"id": "ch_Hivjz9KKyTuHrb5aP81ejPCK",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "jdpay_wap",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your body",
"extra": {
"success_url": "/success",
"fail_url": "/fail",
"token": "yGOKVwTPdCTvzobHmjeCySjzriZqEMIG",
"is_mobile": false,
"order_type": "1"
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_Hivjz9KKyTuHrb5aP81ejPCK/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"jdpay_wap": {
"version": "V2.0",
"merchant": "",
"tradeNum": "43b0e131b39889daeead119fdf",
"tradeName": "dc278fa6bd668fd85c8ab68f102d8be6e00db00",
"tradeDesc": "ebbfd9da6bd02db273a801a5e003dbe3decbebb10d37aaff3faeccdcb010d80e90ec5c0ff09a83af968be9fd40a5d2f78ce4bc26bdce64fdbbe67e07b587c63a8cea811",
"tradeTime": "443c19l7a2d9ea88ffc26ca6cdacf533f846cc39ddd717e0",
"amount": "639bd998e3818709",
"orderType": "2e9e4c",
"currency": "4eb4eba53ff53ee1",
"callbackUrl": "a80b2ea829db3e5c1d8cc4bb09b027e4e54af6c0b09a3756091",
"notifyUrl": "25f901da8a8ec075eba3ge079db3edad1c6d83077fcaf9ea43dcc1bd630d9d89fb6ed1e4dc31b8ffac468e7ceb56cb06fbee1d835",
"note": "bdec2f03d58e1b94b1bb45a9d84a33aa4ee4b289dccc1c47448d3efc3f7cbccd49cdf46afe923c7da2de903",
"expireTime": "e1394edccff0d",
"sign": "12kfGtzF4gYLuS/R3VxtZylWZkbHnyUpeygJrj5WUDL4Pt4VoIh+tDvmY3PgZrFbvHq4ZR6tWAzvskHD8cQk06G0/wibxWSL411Fyc4qmsLrQlEXQ0G/z0MX1SEZHPxg8G71LIqbEOT/QVp6HQpoMquesISvtR2rgHuUCYz3OUY=",
"channelUrl": "/jdpay/saveOrder"
"description": "Your Description"}
applepay_upacp
"id": "ch_fLCuvDG4aPW94q10q5nXb9KC",
"object": "charge",
"created": ,
"livemode": false,
"paid": false,
"refunded": false,
"app": "app_LibTW1n1SOq9Pin1",
"channel": "applepay_upacp",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {},
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_fLCuvDG4aPW94q10q5nXb9KC/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"object": "credential",
"applepay_upacp": {
"mode": "00",
"merchant_id": "Your app merchant id"
"description": "Your Description"}
fqlpay_wap
"id": "ch_1mrjL8P0S4OCTCKC08n1OmH4",
"object": "charge",
"created": ,
"livemode": true,
"paid": false,
"refunded": false,
"app": "app_1Gqj58ynP0mHeX1q",
"channel": "fqlpay_wap",
"order_no": "",
"client_ip": "127.0.0.1",
"amount": 100,
"amount_settle": 100,
"currency": "cny",
"subject": "Your Subject",
"body": "Your Body",
"extra": {
"c_merch_id": "21321",
"return_url": "/return"
"time_paid": null,
"time_expire": ,
"time_settle": null,
"transaction_no": null,
"refunds": {
"object": "list",
"url": "/v1/charges/ch_1mrjL8P0S4OCTCKC08n1OmH4/refunds",
"has_more": false,
"data": []
"amount_refunded": 0,
"failure_code": null,
"failure_msg": null,
"metadata": {},
"credential": {
"fqlpay_wap": "/merchpay/entry?merch_key=BBBBMC251f5b8bdac1a95d2fd01a4354&ti

我要回帖

更多关于 微信接口获取公钥 的文章

 

随机推荐