发起一次充值请求时需要创建一个新的 recharge 对象,获取一个可用的 charge 对象用于客户端向第三方渠道发起支付请求。如果使用测试模式的 API Key,则不会发生真实交易。当充值成功后,Ping++ 会发送 Webhooks 通知。
注 :此接口暂不支持跨境渠道。
| 请求参数 | 描述 | 
|---|---|
| APP_ID required string | 对应 app对象的id,该参数仅需要填写在请求地址内,查看 如何获取App ID。 | 
| user required string | 充值目标 user对象的id,64 位以内。 | 
| charge[amount] required integer | 支付金额,单位为分,取值范围 0~1000000000。 | 
| charge[channel] required string | 支付使用的第三方支付渠道,详情参考支付渠道属性值。除此之外,还支持自定义渠道 custom,该渠道不需要真实支付,仅对用户 "0" 有效。 | 
| charge[order_no] required string | 商户订单号,适配每个渠道对此参数的要求,必须在商户的系统内唯一。长度限制在 8~20 位。 | 
| charge[subject] required string | 商品标题,该参数最长为 32 个 Unicode 字符。银联全渠道限制在 32 个字节;支付宝部分渠道不支持特殊字符; cmpay渠道限制为 1~25 个 Unicode 字符;isv_lite渠道限制为:1~20 个 unicode 长度,不允许以下特殊字符串"\n\r,,~!@#¥%……&*()【】「」"。 | 
| charge[body] required string | 描述信息,该参数最长为 128 个 Unicode 字符, yeepay_wap对于该参数长度限制为 100 个 Unicode 字符。 | 
| charge[time_expire] optional timestamp | 订单失效时间的 Unix 时间戳。时间范围在订单创建后的 1 分钟到 15 天,默认为 1 天,创建时间以 Ping++ 服务器时间为准。微信对该参数的时间范围在订单创建后的 1 分钟到 7 天,默认为 2 小时; upacp、upacp_pc、upacp_wap、cp_b2b、applepay_upacp渠道对该参数的有效值限制为 1 小时内;upacp_b2b对该参数的有效值限制为 1 天内;upacp_qr渠道对该参数的有效期默认为 1 天,最大为 30 天;此参数对paypal及scan类渠道无效。 | 
| charge[client_ip] optional string | 发起支付请求客户端的 IP 地址,支持 IPv4、IPv6 格式。 | 
| charge[extra] conditional hash | 特定渠道发起交易时需要的额外参数,以及部分渠道支付成功返回的额外参数,详细参考支付渠道 extra 参数说明。 | 
| user_fee optional integer | 充值收取的用户手续费,单位为分,不得大于 charge[amount],不可和balance_bonus[amount]同时使用,默认 0。 | 
| balance_bonus[amount] optional integer | 充值赠送的余额,单位为分,不可和 user_fee同时传,默认 0。 | 
| from_user optional string | 充值来源 user对象的id,默认和user相同,即给自己充值。 | 
| description optional string | 附加说明,最多 255 个 Unicode 字符。 | 
| metadata optional hash | 详见 元数据。 | 
返回
返回一个 recharge 对象,或者返回一个错误,详见 错误。
POST https://api.pingxx.com/v1/apps/{APP_ID}/recharges待补充
待补充
待补充
待补充
待补充
待补充
待补充
curl https://api.pingxx.com/v1/apps/app_1Gqj58ynP0mHeX1q/recharges \
-H "Pingplusplus-Signature: {SIGNATURE}" \
-H "Pingplusplus-Request-Timestamp: 1496728534" \
-u sk_test_ibbTe5jLGCi5rzfH4OqPW9KC: \
-d '{
  "user": "test_user_02",
  "user_fee": 100,
  "from_user": "test_user_01",
  "charge": {
    "amount":1000,
    "channel":"upacp",
    "time_expire": 1496826528,
    "order_no":"20161000167",
    "subject": "测试订单007测试订单007&",
    "body": "订单内容007",
    "client_ip":"127.0.0.1",
    "extra":{}
  },
  "client_ip": "127.0.0.1",
  "description": "Your description"
}'待补充
待补充
待补充
待补充
待补充
待补充
待补充
{
  "id": "2001706060000002372",
  "object": "recharge",
  "app": "app_1Gqj58ynP0mHeX1q",
  "created": "1496740128",
  "livemode": false,
  "amount": 1000,
  "succeeded": false,
  "time_succeeded": null,
  "refunded": false,
  "user": "test_user_02",
  "from_user": "test_user_01",
  "user_fee": 100,
  "charge": {
    "id": "ch_SejbHOrzbjvPunjHmD08SCi9",
    "object": "charge",
    "created": 1496740128,
    "livemode": false,
    "paid": false,
    "refunded": false,
    "reversed": false,
    "app": "app_1Gqj58ynP0mHeX1q",
    "channel": "upacp",
    "order_no": "20161000167",
    "client_ip": "127.0.0.1",
    "amount": 10000,
    "amount_settle": 10000,
    "currency": "cny",
    "subject": "测试订单007测试订单007&",
    "body": "订单内容007",
    "extra": {},
    "time_paid": null,
    "time_expire": 1496826528,
    "time_settle": null,
    "transaction_no": null,
    "refunds": {
      "object": "list",
      "url": "/v1/charges/ch_SejbHOrzbjvPunjHmD08SCi9/refunds",
      "has_more": false,
      "data": []
    },
    "amount_refunded": 0,
    "failure_code": null,
    "failure_msg": null,
    "metadata": {},
    "credential": {
      "object": "credential",
      "upacp": {
        "tn": "201409161028470000000",
        "mode": "01"
      }
    },
    "description": null
  },
  "balance_bonus": {},
  "refunds": {},
  "balance_transaction": "",
  "description": "",
  "metadata": {}
}