Charges 支付

你可以创建一个 charge 对象向用户收款。charge 是一个支付凭据对象,所有和支付相关的要素信息都存储在这个对象中,你的服务端可以通过发起支付请求来创建一个新的 charge 对象,也可以随时查询一个或者多个 charge 对象的状态。每个 charge 对象都拥有一个标识 id,该 id 在 Ping++ 系统内唯一。

:服务端在传 Charge 对象到客户端前,请先使用各 SDK 自带的序列化方式(比如 Java 的 .toString())将对象转换成 JSON 字符串。

属性描述
id string由 Ping++ 生成的支付对象 ID,27 位字符串。
object string值为 "charge"。
created timestamp支付创建时的 Unix 时间戳。
livemode boolean是否处于 live 模式。
paid boolean是否已付款。
refunded boolean是否存在退款信息,无论退款是否成功。
reversed boolean订单是否撤销。
app expandable string支付使用的 app 对象的 id,expandable 可展开,查看如何获取App ID
channel string支付使用的第三方支付渠道,详情参考 支付渠道属性值
order_no string商户订单号,适配每个渠道对此参数的要求,必须在商户的系统内唯一。(支付宝全渠道: 1-64 位的数字和字母组合;wx: 2-32 位;wx_pub_scan、cb_wx、cb_wx_pub、cb_wx_pub_qr、cb_wx_pub_scan:1-32 位的数字和字母组合;bfb: 1-20 位;银联全渠道: 8-40 位的数字和字母组合; yeepay_wap: 1-50 位;jdpay_wap: 1-30 位;qpay:1-30 位;isv_qr、isv_scan、isv_wap: 8-32 位,不重复,建议时间戳+随机数(或交易顺序号);paypal:1-32 位的数字和字母组合;ccb_pay、ccb_qr:1-30 位数字和字母组合;cmb_wallet: 6-32 位的数字和字母组合,一天内不能重复,订单日期+订单号唯一定位一笔订单,示例: 20170808test01)。注:推荐使用 8-20 位的数字和字母组合,不允许特殊字符。
client_ip ip address发起支付请求客户端的 IP 地址,格式为 IPv4 整型,如 127.0.0.1。
amount int订单总金额(必须大于 0),单位为对应币种的最小货币单位,人民币为分。如订单总金额为 1 元,amount 为 100。
amount_settle int清算金额,单位为对应币种的最小货币单位,人民币为分。
currency string3 位 ISO 货币代码,小写字母,人民币为 cny。使用跨境渠道详见下方的 跨境支付 currency 字段说明
subject string商品标题,该参数最长为 32 个 Unicode 字符。银联全渠道限制在 32 个字节;支付宝部分渠道不支持特殊字符。
body string商品描述信息,该参数最长为 128 个 Unicode 字符。yeepay_wap 对于该参数长度限制为 100 个 Unicode 字符;支付宝部分渠道不支持特殊字符。
extra hash特定渠道发起交易时需要的额外参数,以及部分渠道支付成功返回的额外参数,详细参考支付渠道 extra 参数说明
time_paid timestamp订单支付完成时的 Unix 时间戳。(银联支付成功时间为接收异步通知的时间)
time_expire 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 天。
time_settle timestamp订单清算时间,用 Unix 时间戳表示。(暂不生效)
transaction_no string支付渠道返回的交易流水号。
refunds list退款详情列表,详见 Refunds 退款
amount_refunded int已退款总金额,单位为对应币种的最小货币单位,例如:人民币为分。
failure_code string订单的错误码,详见 错误 中的错误码描述。
failure_msg string订单的错误消息的描述。
metadata hash详见 元数据
credential object支付凭证,用于客户端发起支付。
description string订单附加说明,最多 255 个 Unicode 字符。

对象示例

{
  "id": "ch_Hm5uTSifDOuTy9iLeLPSurrD",
  "object": "charge",
  "created": 1410778843,
  "livemode": true,
  "paid": false,
  "refunded": false,
  "reversed": false,
  "app": "app_1Gqj58ynP0mHeX1q",
  "channel": "upacp",
  "order_no": "123456789",
  "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": 1410782443,
  "time_settle": null,
  "transaction_no": null,
  "refunds": {
    "object": "list",
    "url": "/v1/charges/ch_Hm5uTSifDOuTy9iLeLPSurrD/refunds",
    "has_more": false,
    "data": []
  },
  "amount_refunded": 0,
  "failure_code": null,
  "failure_msg": null,
  "credential": {
    "object": "credential",
    "upacp": {
      "tn": "201409151900430000000",
      "mode": "01"
    }
  },
  "description": null
}