Orders 订单

你可以通过创建 order 对象完成一笔订单的下单和付款动作。一个 order 对象可能包含多笔(多渠道)的 charge 对象。 order 对象支持优惠券使用子商户收款分润等功能(均为可选),请参考相应的章节获取更多详情。

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

属性描述
id string订单对象 ID,由 Ping++ 生成。
object string值为 "order"。
created timestamp创建时间,用 Unix 时间戳表示。
livemode boolean是否是 live 模式。
app string订单应用。对应 app 对象的 id,查看 如何获取App ID
status string目前订单支持状态。分为待支付:created、已付款:paid、存在退款:refunded、已取消:canceled。
paid boolean是否已付款。当订单的已付金额 - 已退金额 ≥ 应付金额(amount_paid - amount_refunded ≥ actual_amount)时,该值变为 true 。
refunded boolean是否存在退款信息,无论退款是否成功。
uid string消费者 user 对象的 id
amount int原始金额,单位为分。
coupon_amount int优惠券折扣金额,单位为分。
actual_amount int应付金额,单位为分。值为原始金额减去优惠券折扣金额(amount - coupon_amount)。
merchant_order_no string商户订单号,适配每个渠道对此参数的要求,必须在商户的系统内唯一。长度限制 8~20 位,要求数字或字母,不允许特殊字符。
amount_paid int已付金额,值为所有包含已付款的 charge 对象的 amount 总额,单位为分。
amount_refunded int已退金额(成功退款的金额),值为所有包含有退款的 charge 对象的 amount_refunded 总额,单位为分。
currency string3 位 ISO 货币代码,人民币为 cny
subject string商品标题,该参数最长为 32 个 Unicode 字符。银联全渠道限制在 32 个字节;支付宝部分渠道不支持特殊字符。
body string商品描述信息,该参数最长为 128 个 Unicode 字符。yeepay_wap 对于该参数长度限制为 100 个 Unicode 字符;支付宝部分渠道不支持特殊字符。
client_ip ip address发起支付请求客户端的 IP 地址,格式为 IPv4 整型,如 127.0.0.1。
time_paid timestamp付款完成时间,用 Unix 时间戳表示。
time_expire timestamp订单过期时间,用 Unix 时间戳表示。时间范围在订单创建后的 5 分钟到 7 天,默认值为 1 天,创建时间以 Ping++ 服务器时间为准。如果订单到达过期时间仍未完成付款,则会自动变为 canceled 状态。
coupon string使用的 coupon 对象的 id
available_balance int订单支付前,消费者 user 的可用余额,单位为分。
receipt_app string收款方 app 对象的 id。订单使用收款方应用的渠道参数进行支付。
service_app string服务方 app 对象的 id。表示承接该交易服务的应用,由服务方和平台确定订单的层级链都能查询到该 order 对象。
available_methods list可使用支付渠道列表。如果收款方是子商户,会展示该子商户可使用的支付渠道。客户端可以根据此列表展示合适的支付渠道供用户选择。
charge_essentials hash最近一次请求的支付所需的支付要素,用于客户端打开支付控件、支付页面、显示二维码等。包括 channeltransaction_nocredentialextra 等要素。
charges list关联的 charge 对象列表,其中 charge 对象不包含 refund 对象。
description string订单附加说明,最多 255 个 Unicode 字符。
metadata hash详见 元数据

对象示例

{
    "id": "2001708140000017551",
    "object": "order",
    "created": 1502695388,
    "livemode": false,
    "paid": false,
    "refunded": false,
    "status": "created",
    "app": "app_1Gqj58ynP0mHeX1q",
    "uid": "user_007",
    "available_balance": 0,
    "merchant_order_no": "2017081400000006",
    "amount": 1000,
    "actual_amount": 800,
    "amount_refunded": 0,
    "amount_paid": 0,
    "coupon_amount": 200,
    "currency": "cny",
    "subject": "Your Subject",
    "body": "Your Body",
    "client_ip": "127.0.0.1",
    "time_paid": null,
    "time_expire": 1502781019,
    "coupon": "300317081415225500002001",
    "description": null,
    "metadata": {},
    "charge_essentials": {},
    "receipt_app": "app_1Gqj58ynP0mHeX1q",
    "service_app": "app_1Gqj58ynP0mHeX1q",
    "available_methods": [
        "balance"
    ],
    "charges": {
        "object": "list",
        "url": "/v1/charges",
        "has_more": false,
        "data": []
    }
}