API开发文档简介
				
				
					本文阅读对象:使用 西瓜支付 商户自服务系统的技术架构师、研发工程师、系统运维工程师。通过本文档,商户可了解 西瓜支付 接入的技术、接入的产品业务、接入的流程、接入规范等信息,以便于商户顺利完成接入工作。
				
			 
			
				
					接入网关
				
				
										请登录商户中心,API管理 开发文档中 查看网关地址和API对接参数。
									
			 
			
				
					统一下单接口
				
				
					
						提交方式:POST
					
					
						地址: 接入网关/Pay_Index.html
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								是否必填 | 
								参与签名 | 参数说明 | 
							
						
					
						
							| pay_memberid | 
							商户号 | 
							是 | 
							是 | 
							平台分配商户号 | 
						
						
							| pay_orderid | 
							订单号 | 
							是 | 
							是 | 
							上送订单号唯一, 字符长度20 | 
						
						
							| pay_applydate | 
							提交时间 | 
							是 | 
							是 | 
							时间格式:2016-12-26 18:18:18 | 
						
						
							| pay_bankcode | 
							银行编码 | 
							是 | 
							是 | 
							在商户中心查询 | 
						
						
							| pay_notifyurl | 
							服务端通知 | 
							是 | 
							是 | 
							服务端返回地址.(POST返回数据) | 
						
						
							| pay_callbackurl | 
							页面跳转通知 | 
							是 | 
							是 | 
							页面跳转返回地址(POST返回数据) | 
						
						
							| pay_amount | 
							订单金额 | 
							是 | 
							是 | 
							单位:元 | 
						
						
							| pay_md5sign | 
							MD5签名 | 
							是 | 
							是 | 
							请查看签名算法 | 
						
						
							| pay_productname | 
							商品名称 | 
							是 | 
							否 | 
							 | 
						
						
							| pay_productnum | 
							商户品数量 | 
							否 | 
							否 | 
							 | 
						
						
							| pay_productdesc | 
							商品描述 | 
							否 | 
							否 | 
							 | 
						
						
							| pay_producturl | 
							商户链接地址 | 
							否 | 
							否 | 
							 | 
						
					
					
				  
			 
			
				
					异步通知
				
				
					
						提交方式:POST
					
					
						接收到服务器点对点通讯时,在页面输出“OK”( 没有双引号,OK 两个字母大写 ) ,否则会重复5次发送点对点通知.
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								是否必填 | 
								参与签名 | 参数说明 | 
							
						
					
						
							| memberid | 
							商户编号 | 
							是 | 
							是 | 
							平台分配商户号 | 
						
						
							| orderid | 
							订单号 | 
							是 | 
							是 | 
							上送订单号唯一, 字符长度20 | 
						
						
							| amount | 
							订单金额 | 
							是 | 
							是 | 
							 | 
						
						
							| transaction_id | 
							交易流水号 | 
							是 | 
							是 | 
							 | 
						
                      
							| datetime | 
							交易时间 | 
							是 | 
							是 | 
							 | 
						
						
							| returncode | 
							交易状态 | 
							是 | 
							是 | 
							00表示成功,其它表示失败 | 
						
						
							| attach | 
							扩展返回 | 
							否 | 
							是 | 
							商户附加数据返回 | 
						
						
							| sign | 
							MD5签名 | 
							是 | 
							否 | 
							 | 
						
				
					
					
				  
			 
		
			
				
					订单查询接口
				
				
					
						提交方式:POST
					
					
						地址: 接入网关/Pay_Trade_query.html
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								是否必填 | 
								参与签名 | 参数说明 | 
							
						
					
						
							| pay_memberid | 
							商户编号 | 
							是 | 
							是 | 
							 | 
						
						
							| pay_orderid | 
							商户订单号 | 
							是 | 
							是 | 
							 | 
						
					
						
							| pay_md5sign | 
							MD5签名 | 
							是 | 
							是 | 
							 | 
						
					
					
					
					
						返回值
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								是否必填 | 
								参与签名 | 参数说明 | 
							
						
					
						
							| memberid | 
							商户编号 | 
							是 | 
							是 | 
							 | 
						
	
						
							| returncode | 
							请求状态 | 
							是 | 
							是 | 
							00表示成功,其它表示失败 | 
						
							
						
							| data | 
							订单信息(数据类型:集合) | 
							是 | 
							否 | 
							 | 
						
	
						
							| sign | 
							MD5签名 | 
							是 | 
							否 | 
							 | 
						
											
					
					
					
						返回值data参数
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								参数说明 | 
							
						
					
						
							| orderid | 
							商户订单号 | 			
							 | 
						
	
							
							| transaction_id | 
							平台订单号 | 			
							 | 
						
							
						
							| amount | 
							订单金额 | 						
							单位:元 | 
						
	
						
							| time_end | 
							支付成功时间 | 					
							 | 
						
						
							| trade_state | 
							支付状态 | 					
							SUCCESS:支付成功,NOTPAY:未支付 | 
						
						
					
					
				  
			 
			
			
				
					代付提交接口
				
				
					
						提交方式:POST
					
					
						提交地址:网关地址+/Payment_Dfpay_add.html
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								是否必填 | 
								参与签名 | 参数说明 | 
							
						
					
						
							| mchid | 
							商户编号 | 
							是 | 
							是 | 
							平台分配商户号 | 
						
						
							| out_trade_no | 
							商户订单号 | 
							是 | 
							是 | 
							保证唯一值 | 
						
						
							| money | 
							订单金额 | 
							是 | 
							是 | 
							单位:元 | 
						
						
							| bankname | 
							开户行名称 | 
							是 | 
							是 | 
							 | 
						
						
							| subbranch | 
							支行名称 | 
							是 | 
							是 | 
							 | 
						
						
							| accountname | 
							开户名 | 
							是 | 
							是 | 
							 | 
						
						
							| cardnumber | 
							银行卡号 | 
							是 | 
							是 | 
							 | 
						
						
							| province | 
							省份 | 
							是 | 
							是 | 
							 | 
						
						
							| city | 
							城市 | 
							是 | 
							是 | 
							 | 
						
						
							| extends | 
							附加字段 | 
							否 | 
							是 | 
							 | 
						
						
							| sign | 
							MD5签名 | 
							是 | 
							否 | 
							 | 
						
				
					
					
					
						注:extends字段具体需要上送哪些字段以及字段的含义,对接时请咨询平台方,如果不需要扩展字段则不传。不为空时,格式:先转化为JSON,接着进行Base64加密
					
                  
						例如:扩展字段为phone和idno,extends[phone]=13800138000,extends[idno]=111111111111111111。首先将extends转化为JSON格式得到{"phone":"13800138000","idno":"111111111111111111"},然后将此JSON字符串进行base64加密得到eyJwaG9uZSI6IjEzODAwMTM4MDAwIiwiaWRubyI6IjExMTExMTExMTExMTExMTExMSJ9,最终得到extends=eyJwaG9uZSI6IjEzODAwMTM4MDAwIiwiaWRubyI6IjExMTExMTExMTExMTExMTExMSJ9。
					
					
						返回值
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								是否必填 | 
								参与签名 | 参数说明 | 
							
						
					
						
							| status | 
							状态 | 
							是 | 
							是 | 
							成功:success 失败:error(不代表业务成功) | 
						
	
						
							| msg | 
							状态描述 | 
							是 | 
							是 | 
							 | 
						
							
						
							| transaction_id | 
							平台流水号 | 
							是 | 
							是 | 
							成功时返回 | 
						
																	
					
					
				  
			 
			
				
					代付查询接口
				
				
					
						提交方式:POST
					
					
						提交地址:网关地址+/Payment_Dfpay_query.html
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								是否必填 | 
								参与签名 | 参数说明 | 
							
						
						
						
							| out_trade_no | 
							商户订单号 | 
							是 | 
							是 | 
							 | 
						
						
							| mchid | 
							商户号 | 
							是 | 
							是 | 
							 | 
						
						
							| pay_md5sign | 
							签名 | 
							是 | 
							否 | 
							 | 
						
						
					
	
					
						返回值
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								是否必填 | 
								参与签名 | 参数说明 | 
							
						
					
						
							| status | 
							状态 | 
							是 | 
							是 | 
							success:请求成功(不代表业务成功),error:请求失败 | 
						
						
							| msg | 
							状态描述 | 
							是 | 
							是 | 
							 | 
						
						
							| mchid | 
							商户号 | 
							是 | 
							是 | 
							status=success时返回 | 
						
						
							| out_trade_no | 
							商户订单号 | 
							是 | 
							是 | 
							status=success时返回 | 
						
						
							| amount | 
							金额 | 
							是 | 
							是 | 
							status=success时返回 | 
						
						
							| transaction_id | 
							平台流水号 | 
							是 | 
							是 | 
							status=success时返回 | 
						
						
							| refCode | 
							业务状态 | 
							是 | 
							是 | 
							status=success时返回 | 
						
						
							| refMsg | 
							业务描述 | 
							是 | 
							是 | 
							status=success时返回 | 
						
						
							| success_time | 
							成功时间 | 
							是 | 
							是 | 
							status=success,refCode=1时返回 | 
						
				
						
							| sign | 
							MD5签名 | 
							是 | 
							否 | 
							 | 
						
				
					
					
					
						refCode返回值
					
					
						
							
								| 返回值 | 
								含义 | 					
							
						
					
						
							| 1 | 
							成功 | 
						
	
						
							| 2 | 
							失败 | 
						
						
							| 3 | 
							处理中 | 			
						
						
							| 4 | 
							待处理 | 			
						
						
							| 5 | 
							审核驳回 | 		
						
						
							| 6 | 
							待审核 | 		
						
						
							| 7 | 
								交易不存在 | 			
						
						
							| 8 | 
							未知状态 | 			
						
																
					
					
					
						注:当status=success和refCode=1同时成立时才表示转账成功
					
				  
			 
                  
                  
                  
				
					签名算法
				
				
					签名生成的通用步骤如下:
					
						第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串。
					 	
					
						第二步,在stringA最后拼接上应用key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
					
					
						stringSignTemp="pay_amount=pay_amount&pay_applydate=pay_applydate&pay_bankcode=pay_bankcode&pay_callbackurl=pay_callbackurl&pay_memberid=pay_memberid&pay_notifyurl=pay_notifyurl&pay_orderid=pay_orderid&key=key"
						sign=MD5(stringSignTemp).toUpperCase()
					
				 
			 
			
				
					账户余额查询接口
				
				
					
						提交方式:POST
					
					
						接口地址:网关地址+/Payment_Dfpay_balance.html
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								是否必填 | 
								参与签名 | 参数说明 | 
							
						
					
						
							| mchid | 
							商户编号 | 
							是 | 
							是 | 
							平台分配商户号 | 
						
					
						
							| pay_md5sign | 
							MD5签名 | 
							是 | 
							否 | 
							 | 
						
				
					
					
					
						返回值
					
					
						
							
								| 参数名称 | 
								参数含义 | 
								是否必填 | 
								参与签名 | 参数说明 | 
							
						
					
						
							| status | 
							状态 | 
							是 | 
							是 | 
							success:请求成功,error:请求失败 | 
						
					
						
							| msg | 
							状态描述 | 
							是 | 
							是 | 
							 | 
						
						
							| mchid | 
							商户号 | 
							是 | 
							是 | 
							status=success时返回 | 
						
						
							| balance | 
							可提现余额 | 
							是 | 
							是 | 
							status=success时返回 | 
						
						
							| blockedbalance | 
							冻结余额 | 
							是 | 
							status=success时返回 | 
							 | 
						
	
						
							| pay_md5sign | 
							MD5签名 | 
							是 | 
							否 | 
							 | 
						
						
					
					
				  
			 
                  
                  
				
					渠道编码
				
				
											请登录商户中心,API管理 通道费率中 查看所属应用的支付通道编码。