订单查询

订单查询包括查询订单详情和获取订单列表。

查询订单详情

通过订单的流水号(transactionNo),来查询该订单的详细信息。通常用于:

  • 查询订单列表中某个订单的详细信息;
  • 用户发起支付,并在微信或支付宝完成支付后,调用该接口获取订单的详细信息。开发者可以根据该订单的状态进行后续操作,比如订单状态(status)为 success 时,给用户发送商品。
  1. let transactionNo = "xxxxxxxxxx"
  2. Pay.shared.order(transactionNo) { (order, error) in
  3. }
  1. NSString *transactionNo = @"xxxxxxxxxx";
  2. [BaaSPay.shared order:transactionNo completion:^(BaaSOrder * _Nullable order, NSError * _Nullable error) {
  3. }];

参数说明

参数类型必填说明
transactionNoStringY知晓云平台所记录的流水号

返回结果

名称类型说明
orderOrder订单信息,详见 数据类型 小节
errorNSError错误信息,参考错误处理和错误码

订单查询

OrderQuery 继承 Query, 并定义了订单状态、退款状态、支付方式、trade_notransaction_nomerchandise_record_idmerchandise_schema_id 等 7 种查询条件。

  1. // 1. 创建查询条件
  2. let query = OrderQuery()
  3. // 2. 设置查询条件
  4. // 通过订单状态查询:订单状态为 success
  5. query.status = .success
  6. // 通过订单状态查询:订单状态为 pending
  7. query.status = .pending
  8. // 通过退款状态查询:退款状态为 complete
  9. query.refundStatus = .complete
  10. // 通过退款状态查询:订单状态为 partial
  11. query.refundStatus = .partial
  12. // 通过支付方式查询:支付方式为 weixin
  13. query.gateWayType = .weixin
  14. // 通过支付方式查询:订单状态为 alipay
  15. query.gateWayType = .alipay
  16. // 通过 trade_no 查询
  17. query.tradeNo = "xxxxxxxxxxxxxx"
  18. // 通过 transaction_no 查询
  19. query.transactionNo = "xxxxxxxxxxxxxx"
  20. // 通过 merchandise_record_id 查询
  21. query.merchandiseRecordId = "xxxxxxxxxxxxxx"
  22. // 通过 merchandise_schema_id 查询
  23. query.merchandiseSchemaId = "xxxxxxxxxxxxxx"
  24. // 设置分页
  25. query.limit = 10
  26. query.offset = 0
  27. // 3. 开始查询
  28. Pay.shared.orderList(query: query) { (result, error) in
  29. }
  1. // 1. 创建查询条件
  2. BaaSOrderQuery *query = [[BaaSOrderQuery alloc] init];
  3. // 2. 设置查询条件
  4. // 通过订单状态查询:订单状态为 success
  5. query.status = BaaSOrderStatusSuccess;
  6. // 通过订单状态查询:订单状态为 pending
  7. query.status = BaaSOrderStatusPending;
  8. // 通过退款状态查询:退款状态为 complete
  9. query.status = BaaSRefundStatusComplete;
  10. // 通过订单状态查询:退款状态为 partial
  11. query.status = BaaSRefundStatusPartial;
  12. // 通过支付方式查询:支付方式为 weixin
  13. query.status = BaaSGateWayTypeWeixin;
  14. // 通过支付方式查询:支付方式为 alipay
  15. query.status = BaaSGateWayTypeAlipay;
  16. // 通过 trade_no 查询
  17. query.tradeNo = @"xxxxxxxxxxxxxx";
  18. // 通过 transaction_no 查询
  19. query.transactionNo = @"xxxxxxxxxxxxxx";
  20. // 通过 merchandise_record_id 查询
  21. query.merchandiseRecordId = @"xxxxxxxxxxxxxx";
  22. // 通过 merchandise_schema_id 查询
  23. query.merchandiseSchemaId = @"xxxxxxxxxxxxxx";
  24. // 设置分页
  25. query.limit = 10;
  26. query.offset = 0;
  27. // 3. 开始查询
  28. [BaaSPay.shared orderListWithQuery:query completion:^(BaaSOrderList * _Nullable orders, NSError * _Nullable error) {
  29. }];

参数说明

参数类型必填说明
queryOrderQueryN查询条件

可以设置的查询条件,有订单状态: OrderStatus、退款状态 RefundStatus、支付类型 GateWayType,详见 数据类型 小节

返回结果

名称类型说明
listResultOrderList文件分类列表结果,详见 数据类型 小节
errorNSError错误信息,参考错误处理和错误码

数据类型

Order

订单信息

属性类型说明
IdString订单 ID
tradeNoString真正的交易 ID, 业务方在微信后台对账时可看到此字段
transactionNoString知晓云平台所记录的流水号
currencyTypeString货币类型
totalCostCGFloat金额
statusString订单支付状态
createdByString创建订单的用户 ID
createdAtTimeInterval订单创建时间
updatedAtTimeInterval订单更新时间
payAtTimeInterval支付时间
refundStatusString退款状态
gateWayTypeString支付类型:可选值有:weixin_tenpay(微信支付)、alipay(支付宝支付)
merchandiseRecordIdString商品记录 ID
merchandiseSchemaIdString商品表 ID
merchandiseDescriptionString商品详情描述
gatewayExtraInfoDictionary自定义信息

OrderList

OrderList 表示一次查询数据库所返回的订单列表以及元数据。

属性类型说明
limitInt返回内容的最大个数
offsetInt返回内容的起始偏移值
totalCountInt实际返回的内容总数
nextString下一页地址
previousString上一页地址
ordersArray内容列表,每个元素为 Order 类型

订单状态

OrderStatus

类型说明
success支付成功
pending待支付
all全部,默认

BaaSOrderStatus

类型说明
BaaSOrderStatusSuccess支付成功
BaaSOrderStatusPending待支付
BaaSOrderStatusAll全部支付状态,默认

退款状态

RefundStatus

类型说明
complete退款成功
partial部分退款
all全部退款状态,默认

BaaSRefundStatus

类型说明
BaaSRefundStatusComplete退款成功
BaaSRefundStatusPartial部分退款
BaaSRefundStatusAll全部退款状态,默认

支付方式

GateWayType

类型说明
weixin微信支付
alipay支付宝
all全部支付方式,默认

BaaSGateWayType

类型说明
BaaSGateWayTypeWeixin微信支付
BaaSGateWayTypeAlipay支付宝
BaaSGateWayTypeAll全部支付方式,默认