现在可以处理订单并支付成功了 但是不知道怎么获取订单的状态 怎么返回状态到自己网站上来呢?
给的说明文档很不详细。上面都没提到.net 版本的获取调用方法。实例也没有。不知道如何下手
望有经验的人指点迷津 谢谢!
招行有个说明文档里面的第4.37商务支付有个GetOrderStatus函数 但是什么时候调用这个函数 如何调用却不得而知?
4.3.7.1 GetOrderStatus
int __stdcall GetOrderStatus(const char *szQuery, char **szData, int *iLength, char *szErrorMsg);
public SdkResult GetOrderStatus(String sQuery);
说明:查询商务支付订单状态信息。
参数:
[in]szQuery:
sQuery: 查询条件。只有一条记录(数据格式),由以下几个字段组成:
BEGSEQ: 起始订单号(非空)
BEGSUB: 起始订单支付号(可空)
ENDSEQ: 结束订单号(可空,空表示和BEGSEQ相同)
ENDSUB: 结束订单支付号(可空,空表示和BEGSUB相同)
[out]szResult: 查询结果数据指针。可能包含多条收方信息,每个收方信息一条记录(数据格式)。
该参数为指向指针的指针,数据缓冲区在DLL中创建,要求保留该指针,在使用完该数据后,通过提供的FreeBuffer函数释放该缓冲区(如果该函数返回错误或者iLength=0,则不需要调用FreeBuffer)。
每条收方信息由以下几个字段组成:
ORDCCYNBR: 订单币种代码(如"10"。具体请参考《招商银行直连接口说明书》中"附录A.3 币种代码表")
ORDENDAMT: 订单结账金额
ORDREFORD: 对方订单号
ORDSUBORD: 对方订单支付号
ORDENDDAT: 订单完成日期
ORDORDSTA: 订单请求状态,包括:
MRV=多收方处理中
WCF=等待商户确认
OPR=企业银行缴费经办
INP=待缴费
CFM=确认完毕
FIN=订单处理完成
ORDSTSCOD: 结果(ORDORDSTA=FIN才有效),包括:
S=订单支付成功
F=失败
H=订单过期作废
INP=待缴费
E=企业(买方)撤销订单
D=商户(卖方)撤销订单
B=多收方支付不成功
ORDERRDSP: 订单结果描述
ORDSUCSEQ: 订单成功支付流水号
RCVNBR: 收方序号
RCVBBK: 收方帐户所在的分行号(如"75",具体请参考《招商银行直连接口说明书》中"附录A.1 招行分行")
RCVACC: 收方帐户
RCVNAM: 收方户名
RCVBNK: 收方行名称
RCVADR: 收方行地址
STLCHN: 结算通路(F:快速;N:普通)
KEYACC: 多收方中间节点帐户(Y/N)
CCYNBR: 币种代码(如"10"。具体请参考《招商银行直连接口说明书》中"附录A.3 币种代码表")
TRSAMT: 金额
EPTDAT: 期望日
ENDDAT: 结束日
STSCOD: 结果(ORDORDSTA=FIN才有效),包括:
S=成功
F=失败
D=过期
C=撤消
B=退票
V=拒绝
R=否决
M=商户撤消
ERRDSP: 结果描述
[out]iLength: 结果数据长度。只有大于0时,szResult才有效。
[out]szErrorMsg: 错误信息。缓冲区必须不小于256个字节。
返回值:接口返回值