老师好,out_trade_no 返回不了。
来源:12-7 支付回调处理
			慕虎7527636
2020-03-30

	data = {
		# 服务商APPID
		'appid': config_mina['appid'],
		# 服务商商户号
		'mch_id': config_mina['mch_id'],
		# 小程序appid
		'sub_appid': config_mina['sub_appid'],
		# 子商户号
		'sub_mch_id': config_mina['sub_mch_id'],
		# 随机字符
		'nonce_str': target_wechat.get_nonce_str(),
		# 商品描述
		'body': '订餐',
		# 商户订单号
		'out_trade_no': pay_order_info.order_sn,
		# 总金额 单位 分
		'total_fee': int(pay_order_info.total_price * 100),
		# 通知地址
		'notify_url': notify_url,
		# 交易类型
		'trade_type': "JSAPI",
		'sub_openid': oauth_bind_info.openid
	}
def orderCallback():
	result_data = {
		'return_code': 'SUCCESS',
		'return_msg': 'OK'
	}
	header = {'Content-Type': 'application/xml'}
	# 返回结果集
	config_mina = app.config['MINA_APP']
	target_wechat = WeChatService(merchant_key=config_mina['paykey'])
	callback_data = target_wechat.xml_to_dict( request.data )
	app.logger.info(callback_data)
	sign = callback_data['sign']
	callback_data.pop('sign')
	# 产生新的sign
	gene_sign = target_wechat.create_sign(callback_data)
	app.logger.info(gene_sign)
	# 判断 我们产生的sign 和原来的sign 的值
	if sign != gene_sign:
		# 不等于是 让 return_code,return_msg 都赋值 FAIL
		result_data['return_code'] = result_data['return_msg'] = "FAIL"
		# 返回xml 信息
		return target_wechat.dict_to_xml(result_data), header
	order_sn = callback_data['out_trade_no']
	pay_order_info = PayOrder.query.filter_by(order_sn=order_sn).first()
	if not pay_order_info:
		result_data['return_code'] = result_data['return_msg'] = 'FAIL'
		return target_wechat.dict_to_xml(result_data), header
	# 判断金额
	if int( pay_order_info.total_price * 100) != int(callback_data['total_fee']):
		result_data['return_code'] = result_data['return_msg'] = 'FAIL'
		return target_wechat.dict_to_xml(result_data), header
	if pay_order_info.status == 1:
		return target_wechat.dict_to_xml(result_data), header
	target_pay = PayService()
	target_pay.orderSuccess( pay_order_id = pay_order_info.id,  params={"pay_sn": callback_data['transaction_id']})
	# 将 微信回调的结果放入记录 表pay_order_callback_data 中
	target_pay.addPayCallbackData(pay_order_id=pay_order_info.id, data=request.data)
	return target_wechat.dict_to_xml(result_data), header
这里有写的,
模拟是 遇到了  上面一样的问题。 成功付款的。
用的 服务商模式。服务商, 子商户  信息都正确的。也成功付款成功了。
就是不能 模拟出来 商品订单号 。
写回答
	3回答
- 
				
						编程浪子
2020-04-02
你好
如果是你用postman 模拟,那就自己要加这个参数,模拟也要把所有参数填写完整。终于搞明白了,哈哈
012020-04-02 - 
				
						编程浪子
2020-04-01
你好
我现在有点迷糊,我有如下疑问
1:你说的模拟是撒意思,因为你是服务商模式,那应该就不是模拟,是正常支付了把
012020-04-01 - 
				
						编程浪子
2020-04-01
你好
你是怎么模拟的? 如果服务商不返回这个字段就没有了,没有就算了,把这个字段获取去掉就行了。
人家不返回 你就没有办法去获取
012020-04-01 
相似问题