Files

26 KiB
Raw Permalink Blame History

接口应在服务端调用,不可在前端(小程序、网页、APP等)直接调用。具体可参考接口接入指南

接口英文名:PaymentResultQuery

该接口用于查询支付交易订单的支付结果。支持微信、支付宝、云闪付、数字货币等支付交易订单进行查询。

1、调用方式

HTTPS调用

POST <font style="color:rgb(52,64,84);">/api/app/payOreder/PaymentResultQuery</font>

2、请求参数

请求体 <font style="color:rgb(34, 34, 34);">Request Payload</font>

参数名 类型 必填 字段长度 说明
service string - 接口名称。
此处固定值为:query_status
sign_type string 10 接口签名类型,枚举如下:
MD5MD5签名算法
SM3:国密SM3签名算法 不传默认使用MD5算法
merchant_id string 10 财务交易中心商户号
third_order_id string 64 商户订单号。
third_order_id和schc_order_id两者必填其一,都填以schc_order_id为主
schc_order_id string 16 顺成订单号。
third_order_id和schc_order_id两者必填其一,都填以schc_order_id为主。
nonce_str string 32 随机字符串
sign string 32 签名
req_serial_no string 32 本次交易的请求流水号

3、返回参数

返回体 <font style="color:rgb(34, 34, 34);">Response Payload</font>

XML格式返回

参数名 类型 说明
resp_code string 通信状态码。
200 - 成功。
非200 - 失败。
注:此字段是通信标识,业务状态要看result_code
resp_msg string 通信错误说明
resp_code非200时返回
req_serial_no string 本次交易的请求流水号,原样返回
以下参数在resp_code=200时返回
result_code string 业务状态码。
0 - 支付受理成功
非0 - 支付受理失败
error_code string 支付失败错误码。
支付失败时返回
错误码
error_msg string 支付失败原因。
支付失败时返回具体失败原因说明
nonce_str string 随机字符串
sign string 签名
sign_type string 签名类型,枚举如下:
MD5MD5签名算法
SM3:国密SM3签名算法 返回接口请求时设定的签名类型进行签名。
cost_time string 请求耗时。
请求接口耗费的时间,单位毫秒
merchant_id string 财务交易中心商户号
sub_merchant_id string 通道商户号。
该顺成商户对应的上游商户号,即微信、支付宝、QRC商户号、QRA商户号、CUPS商户号等
third_order_id string 商户订单号。
由商户/服务商侧自主生成
pay_way string 支付类型。枚举如下:
WXZF:微信支付
ZFBZF:支付宝支付
UPSMZF:银联扫码支付
DCPAY:数字货币支付
UNKNOWN:未知支付方式
以下参数在result_code=0时返回
schc_order_id string 财务交易中心交易订单号
trade_type string 支付方式。枚举如下:
MICROPAY:付款码支付
NATIVENative支付,
JSAPIJSAPI支付
SmPgPay:小程序支付,
JSAPIQuick:简易支付
FACEPAY:刷脸支付
amount string 订单金额,单位:分
status string 订单支付状态。枚举如下:
0:支付中
2:支付成功
6:订单关闭
8:支付失败
channel_flag string 费率通道标记。枚举如下:
GXST:高校食堂
PUBWEL:公益
PUBPAY:公缴
OFFLINE:线下
ZFBLH:支付宝新蓝海
YLLZ: 微信绿洲
SLZXY:私立中小幼
INS:保险/教培
ONLINE:线上
当前仅微信、支付宝交易会返回
interm_state string 支付中间态。
目前仅针对微信支付,订单为支付中时返回:NOTPAY,USERPAYING
以下参数在status=2时返回
bank_type string 支付银行卡类型。
消费者支付时使用的支付账户或者银行卡类型。
微信交易的银行类型
支付宝交易的银行类型
银联扫码交易的银行类型。枚举为:1-借记卡,2-贷记卡
wxmp_fund_control string 小程序延迟结算订单管控状态
1 为冻结中,2 为已解冻
openid string 消费者用户编号。
消费者在顺成机构下的唯一用户标识。
sub_openid string 消费者用户编号。
status=2且微信和支付宝交易才返回。微信:商户公众号APPID下用户唯一标识;
支付宝:买家的支付宝用户ID
支付宝交易时openid和sub_openid一样。
out_transaction_id string 账户机构订单号。即微信、支付宝、云闪付等订单号
channel_order_id string 清算机构订单号。即银联、网联等清算机构的订单号
channel_datetime string 通道支付成功时间。即消费者实际支付成功的时间。
attach string 支付附加数据。
原样返回下单时上送的attach内容
coupon string 支付宝红包金额,单位(分)。
settlement_amount string 商户实付金额。商户实际结算金额,单位(分)
discount_amount string 订单优惠金额。单位(分)
promotion_detail string 优惠详情。参数具体内容详见下方
buyer_pay_amount string 买家实付金额。
微信、支付宝、银联扫码、数字货币此值有效
数字货币时,该值=settle_amount
simple_url_flag string 简易支付标记。枚举如下:
1:简易支付,
0:非简易支付
pay_time string 交易中心支付成功时间。
交易中心获取到该笔订单支付成功时在交易中心系统上记录下的时间
device_info string 设备编号。
上游返回时才返
store_id string 门店编号。
上游返回时才返
iss_addn_data string 付款方附加数据。
返回商品维度优惠信息
仅银联扫码交易时返回,顺成仅透传银联返回的信息。参数内容详见下方
hb_fq_num string 花呗分期期数。
支付宝花呗分期交易时返回。
注:该信息为顺成系统中保存的,信息,不代表该笔交易为花呗分期交易,如果交易时指定花呗分期,顺成系统会保存该数据,但是消费者可能在支付时选择了其他方式支付。
alipay_infos string 支付宝拓展参数。仅支付宝交易时返回,JSON格式。
本处透传支付宝返回的参数。
参数具体内容详见下方

注:以上参数的必填性,只有在符合的前提下才是必填,比如pay_time参数,只有在resp_code=200且result_code=0且status=2时,才会返回,任一条件不满足均不返回。

微信promotion_detail<font style="color:rgb(0,0,0);">字段说明</font>

参数名 类型 说明
promotion_id string 券ID。券或者立减优惠ID
name string 优惠名称
scope string 优惠范围。枚举如下:
GLOBAL- 全场代金券
SINGLE- 单品优惠
type string 优惠类型。枚举如下:
COUPON- 代金券,需要走结算资金的充
值型代金券,(境外商户券币种与支付币种
一致)
DISCOUNT- 优惠券,不走结算资金的免
充值型优惠券,(境外商户券币种与标价币
种一致
amount int 优惠券面额。用户享受优惠的金额(优惠券面额=微信出
资金额+商家出资金额+其他出资方金额 )
activity_id string 活动ID。在微信商户后台配置的批次 ID
wxpay_contribute int 微信出资金额。
特指由微信支付商户平台创建的优惠,出
资金额等于本项优惠总金额,单位为分
merchant_contribute int 商户出资金额。
特指商户自己创建的优惠,出资金额等于
本项优惠总金额,单位为分
other_contribut
e
int 其他出资金额。
其他出资方出资金额,单位为分
currency string CNY:人民币,境内商户号仅支持人民币
goods_detail object 单品信息,使用 Json 格式
┖goods_id string 商品编码。
由半角的大小写字母、数字、中划线、下划线中的一种或几种组成
┖goods_remark string 商品备注。
goods_remark 为备注字段,按照配置原样返回,
字段内容在微信后台配置券时进行设置。
┖discount_amount int 商品优惠金额。单品的总优惠金额,单位为:分
┖quantity int 商品数量。
用户购买的数量
┖price int 商品价格。
单位为:分。如果商户有优惠,需传输商户优惠
后的单价(例如:用户对一笔100元的订单使用了
商场发的纸质优惠券 100-50,则活动商品的单价
应为原单价-50)

支付宝promotion_detail<font style="color:rgb(0,0,0);">字段说明</font>

该参数对应支付宝的voucher_detail_list参数。本交易支付时使用的所有优惠券信息。只有在 query_options 中指定时才返回该字段信息。

参数名 类型 说明
id string 券ID
name string 券名称
type string 当前有三种类型:
ALIPAY_FIX_VOUCHER - 全场代金券;
ALIPAY_DISCOUNT_VOUCH ER -折扣券;
ALIPAY_ITEM_VOUCHER - 单品优惠;
注:不排除将来新增其他类型的可能,商家接入时注意兼容性避免硬编码
amount decimal 优惠券面额,它应该会等于商家出资加上其他出资方出资
merchant_contribute decimal 商家出资(特指发起交易的商家出资金额)
other_contribut
e
decimal 其他出资方出资金额,可能是支付宝,可能是品牌商,或者其他方,也可能是他们的一起出资
memo string 优惠券备注信息
template_id string 券模板 id
other_contribute_detail object 优惠券的其他出资方明细
┖contribute_type string 出资方类型,如品牌商出资、支付宝平台出资等
┖contribute_amount decimal 出资方金额
purchase_buyer_contribute decimal 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时用户实际付款的金额
purchase_merchant_contribute decimal 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时商户优惠的金额
purchase_ant_contribute decimal 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时平台优惠的金额

银联扫码promon_detail<font style="color:rgb(0,0,0);">字段说明</font>

对应银联二维码平台的 couponInfo 参数。本域采用JSON格式,以方便扩展。本域全部内容用“[ ]”包含;内部可含多个对象,每个 对象用“{ }”包含,对象之间以“,”分隔;对象内可含多个子域,子域间以“,”分隔,子域采取"key":"value"的形式,key和value都需要用双引号包裹。子域定义如下表:

参数名 类型 说明
id string 项目编号。票券编号、活动编号等,格式自定义
desc string 项目简称。优惠活动简称,可用于展示、打单等
type string 项目类型,枚举如下:
DD01:随机立减
CP01:抵金券1:无需领取,交易时直接适配并承兑的优惠券
CP02 :抵金券2:事前领取,交易时上送银联并承兑的优惠券
未来将根据业务发展增加新的类型。
spnsrId string 出资方。
银联作为出资方:固定填写 00010000; 付款方作为出资方:填写 8 位付款方机 构代码; 商户作为出资方:填写 15 位商户代码
offstAmt int 抵消交易金额。不能为全 0。币种同上层 currencyCode
字段
addnInfo string 附加信息。内容自定义

<font style="color:rgb(0,0,0);">iss_addn_data字段说明</font>

本域采用JSON格式,全部内容用“{ }”包含,内部可包含
多个子域。目前仅包含“商品优惠信息dctDetail”子域,后续将根据业务需要新增子域。

参数名 类型 说明
dctDetail object 商品优惠明细内容.
商品优惠信息dctDetail子域采用嵌套JSON格式,全部内容用“[ ]”包含,内部可含多个对象,每个对象用“{ }”包含,对象之间以“,”分隔;对象内可含多个字段,字段间以 “,”分隔
┖id string 参与优惠的商品编号
┖dctId string 优惠活动的编号
┖dctQuantity string 参与优惠的商品数量,示例: 本商品数量为10,其中2件参与了优惠,则本字段值为2
┖dctPrice int 商品的优惠金额,以分为单位,示例: 商品单价10元,共5件,其中2件参与优惠,每件优惠3元,则本字段值为600
字段
┖addnInfo string 内容自定义

<font style="color:rgb(0,0,0);">alipay_infos字段说明</font>

参数名 类型 说明
total_amount decimal 交易金额(单位:分, 类型:数字)
settle_amount string 结算币种订单金额
pay_amount string 支付币种订单金额
receipt_amount string 实收金额(单位:分, 类型:数字)
point_amount int 使用集分宝付款的金额
invoice_amount decimal 交易中可给用户开具发票的金额(单位:元)
fund_bill_list Array 交易支付使用的资金渠道。只有在签约中指定需要返回资金明细,或者入参的query_options 中指定时才返回该字段信息。
card_balance Price 支付宝卡余额
store_name string 发生支付交易的商户门店名称
discount_goods_detail string 本次交易支付所使用的单品券优惠的商品优惠信息。只有在 query_options中指定时才返回该字段信息。
async_payment_mode string 异步支付模式,先享后付业务会返回该参数,目前有三种值:ASYNC_DELAY_PAY( 异步延时付款); ASYNC_REALTIME_PAY( 异步准实时付款); SYNC_DIRECT_PAY(同步直接扣款);
purchase_merchant_contribute Price 如果使用的这张券是用户购买的,则该字段代表用户在购买这张券时商户优惠的金额
auth_trade_pay_mode string 预授权支付模式,该参数仅在信用预授权支付场景下返回。信用预授权支付:CREDIT_PREAUTH_PAY
advance_amount string 先享后付 2.0 垫资金额,不返回表示没有走垫资,非空表示垫资支付的金额
business_params string 商户传入业务信息,具体值要和支付宝约定将商户传入信息分发给相应系统,应用于安全,营销等参数直传场景格式为 json 格式
buyer_user_type string 买家用户类型。 CORPORATE:企业用户;PRIVATE:个人用户
buyer_user_name string 买家名称;买家为个人用户时为买家姓名,买家为企业用户时为企业名称;
mdiscount_amount string 商家优惠金额
discount_amount string 平台优惠金额
charge_flags string 费率活动标识,当交易享受活动优惠费率时,返回该活动的标识;(1)蓝海活动优惠费率 0,值为 bluesea_1(2) 特 殊 行 业 优 惠 费 率 0 值 为industry_special_00(3) 特殊行业优惠费率千一,值为industry_special_01
buyer_logon_id string 买家支付宝账号
hb_fq_pay_info object 支付宝花呗分期详情。JSON格式
该笔交易为花呗分期交易时返回。
user_install_num:分期期数
fq_amount :分期金额,单位:元
注:该参数顺成仅做透传,有时该参数为JSON格式的字符串,样式为:
{"USER_INSTALL_NUM":"3""FQ_AMOUNT":"700"} ,请做好兼容

4、注意事项

5、代码示例

请求参数:

{
  "service": "query_status", 
  "merchant_id": "0000000018", 
  "third_order_id": "T20220930091913k3lERPTS", 
  "nonce_str": "JohCmBiL", 
  "sign": "4A5795878AE4FF29E6A8B9C8DB17DF69",
  "req_serial_no":"17730391726943A1F3E866823"
}

返回参数:

<schc>
	<resp_code><![CDATA[0]]></resp_code>
	<pay_way><![CDATA[ZFBZF]]></pay_way>
	<status><![CDATA[6]]></status>
	<channel_flag><![CDATA[OFFLINE]]></channel_flag>
	<trade_type><![CDATA[SmPgPay]]></trade_type>
	<refund_amount><![CDATA[0]]></refund_amount>
	<sign><![CDATA[BA5217AD6F1891209DB6B94724EBF5A3]]></sign>
	<result_code><![CDATA[0]]></result_code>
	<sign_type><![CDATA[MD5]]></sign_type>
	<amount><![CDATA[1]]></amount>
	<cost_time><![CDATA[6]]></cost_time>
	<nonce_str><![CDATA[bachidvakfdtjxxxrodxhjcvtpnsiveo]]></nonce_str>
	<schc_order_id><![CDATA[1000380455722273]]></schc_order_id>
	<sub_merchant_id><![CDATA[2088610768631989]]></sub_merchant_id>
	<third_order_id><![CDATA[T20220930091913k3lERPTS]]></third_order_id>
	<merchant_id><![CDATA[7021111557]]></merchant_id>
  <req_serial_no><![CDATA[17730391726943A1F3E866823]]></req_serial_no>
</schc>