package com.genie.payment.wechat.weixin.model;
import com.genie.payment.wechat.weixin.method.MD5;
import com.genie.payment.wechat.weixin.staticOrFinal.WeiXinStaticFinalValue;
/**
* 参数实体类定义 TODO
*
* @author 〆 __ 盻神
*
* @Data 2016年4月29日下午5:44:02
*/
public class PayEntity {
private String appid;// 【必填】微信分配的公众账号ID
private String attach;// 【非必填】附加数据,在查询API和支付通知中原样返回,该字段主要用于商户携带订单的自定义数据
private String body;// 【必填】商品或支付单简要描述
private String detail;// 【非必填】商品名称明细列表
private String device_info;// 【非必填】//终端设备号(门店号或收银设备ID),注意:PC网页或公众号内支付请传"WEB"
private String fee_type;// 【非必填】符合ISO 4217标准的三位字母代码,默认人民币:CNY,其他值列表详见货币类
private String goods_tag;// 【非必填】商品标记,代金券或立减优惠功能的参数,说明详见代金券或立减优惠
private String mch_id;// 【必填】微信支付分配的商户号
private String sub_mch_id;// 微信支付分配的子商户号
private String nonce_str;// 【必填】随机字符串,不长于32位
private String notify_url;// 【必填】接收微信支付异步通知回调地址
private String openid;// 【非必填】trade_type=JSAPI,此参数必传,用户在商户appid下的唯一标识。下单前需要调用【网页授权获取用户信息】接口获取到用户的Openid。
private String out_trade_no;// 【必填】商户系统内部的订单号,32个字符内、可包含字母, 其他说明见商户订单号
private String product_id;// 【非必填】trade_type=NATIVE,此参数必传。此id为二维码中包含的商品ID,商户自行定义。
private String sign;// 【必填】签名
private String spbill_create_ip;// 【必填】APP和网页支付提交用户端ip,Native支付填调用微信支付API的机器IP。
private String time_expire;// 【非必填】订单失效时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010。其他详见时间规则
// 注意:最短失效时间间隔必须大于5分钟
private String time_start;// 【非必填】订单生成时间,格式为yyyyMMddHHmmss,如2009年12月25日9点10分10秒表示为20091225091010
private int total_fee;// 【必填】订单总金额,只能为整数
private String trade_type;// 【必填】取值如下:JSAPI,NATIVE,APP,WAP,详细说明见参数规定
/**
* 获取sign
* */
public String getResultSign() {
StringBuffer sb = new StringBuffer();
if (appid != null && !"".equals(appid)) {
sb = sb.append("appid=" + appid);
}
if (attach != null && !"".equals(attach)) {
sb = sb.append("&attach=" + attach);
}
if (body != null && !"".equals(body)) {
sb = sb.append("&body=" + body);
}
if (detail != null && !"".equals(detail)) {
sb = sb.append("&detail=" + detail);
}
if (device_info != null && !"".equals(device_info)) {
sb = sb.append("&device_info=" + device_info);
}
if (fee_type != null && !"".equals(fee_type)) {
sb = sb.append("&fee_type=" + fee_type);
}
if (goods_tag != null && !"".equals(goods_tag)) {
sb = sb.append("&goods_tag=" + goods_tag);
}
if (mch_id != null && !"".equals(mch_id)) {
sb = sb.append("&mch_id=" + mch_id);
}
if (nonce_str != null && !"".equals(nonce_str)) {
sb = sb.append("&nonce_str=" + nonce_str);
}
if (notify_url != null && !"".equals(notify_url)) {
sb = sb.append("¬ify_url=" + notify_url);
}
if (openid != null && !"".equals(openid)) {
sb = sb.append("&openid=" + openid);
}
if (out_trade_no != null && !"".equals(out_trade_no)) {
sb = sb.append("&out_trade_no=" + out_trade_no);
}
if (product_id != null && !"".equals(product_id)) {
sb = sb.append("&product_id=" + product_id);
}
if (spbill_create_ip != null && !"".equals(spbill_create_ip)) {
sb = sb.append("&spbill_create_ip=" + spbill_create_ip);
}
if (sub_mch_id != null && !"".equals(sub_mch_id)) {
sb = sb.append("&sub_mch_id=" + sub_mch_id);
}
if (time_expire != null && !"".equals(time_expire)) {
sb = sb.append("&time_expire=" + time_expire);
}
if (time_start != null && !"".equals(time_start)) {
sb = sb.append("&time_start=" + time_start);
}
if (total_fee > 0) {
sb = sb.append("&total_fee=" + total_fee);
}
if (trade_type != null && !"".equals(trade_type)) {
sb = sb.append("&trade_type=" + trade_type);
}
System.out.println(sb.toString());
sb.append("&key=" + WeiXinStaticFinalValue.key);
System.out.println(sb.toString());
return MD5.MD5Encode(sb.toString()).toUpperCase();
}
/**
* 获取xml
* */
public String getXML() {
StringBuffer xml = new StringBuffer("<xml>");
if (appid != null && !"".equals(appid)) {
xml = xml.append("<appid>" + appid + "</appid>");
}
if (mch_id != null && !"".equals(mch_id)) {
xml = xml.append("<mch_id>" + mch_id + "</mch_id>");
}
if (device_info != null && !"".equals(device_info)) {
xml = xml.append("<device_info>" + device_info + "</device_info>");
}
if (nonce_str != null && !"".equals(nonce_str)) {
xml = xml.append("<nonce_str>" + nonce_str + "</nonce_str>");
}
if (sign != null && !"".equals(sign)) {
xml = xml.append("<sign>" + sign + "</sign>");
}
if (body != null && !"".equals(body)) {
xml = xml.append("<body><![CDATA[" + body + "]]></body>");
}
if (detail != null && !"".equals(detail)) {
xml = xml.append("<detail>" + detail + "</detail>");
}
if (attach != null && !"".equals(attach)) {
xml = xml.append("<attach>" + attach + "</attach>");
}
if (out_trade_no != null && !"".equals(out_trade_no)) {
xml = xml.append("<out_trade_no>" + out_trade_no
+ "</out_trade_no>");
}
if (fee_type != null && !"".equals(fee_type)) {
xml = xml.append("<fee_type>" + fee_type + "</fee_type>");
}
if (total_fee > 0) {
xml = xml.append("<total_fee>" + total_fee + "</total_fee>");
}
if (spbill_create_ip != null && !"".equals(spbill_create_ip)) {
xml = xml.append("<spbill_create_ip>" + spbill_create_ip
+ "</spbill_create_ip>");
}
if (sub_mch_id != null && !"".equals(sub_mch_id)) {
xml = xml.append("<sub_mch_id>" + sub_mch_id + "</sub_mch_id>");
}
if (time_start != null && !"".equals(time_start)) {
xml = xml.append("<time_start>" + time_start + "</time_start>");
}
if (time_expire != null && !"".equals(time_expire)) {
xml = xml.append("<time_expire>" + time_expire + "</time_expire>");
}
if (goods_tag != null && !"".equals(goods_tag)) {
xml = xml.append("<goods_tag>" + goods_tag + "</goods_tag>");
}
if (notify_url != null && !"".equals(notify_url)) {
xml = xml.append("<notify_url>" + notify_url + "</notify_url>");
}
if (trade_type != null && !"".equals(trade_type)) {
xml = xml.append("<trade_type>" + trade_type + "</trade_type>");
}
if (product_id != null && !"".equals(product_id)) {
xml = xml.append("<product_id>" + product_id + "</product_id>");
}
if (openid != null && !"".equals(openid)) {
xml = xml.append("<openid>" + openid + "</openid>");
}
xml = xml.append("</xml>");
return xml.toString();
}
public String getAppid() {
return appid;
}
public void setAppid(String appid) {
this.appid = appid;
}
public String getMch_id() {
return mch_id;
}
public void setMch_id(String mch_id) {
this.mch_id = mch_id;
}
public String getDevice_info() {
return device_info;
}
public void setDevice_info(String device_info) {
this.device_info = device_info;
}
public String getNonce_str() {
return nonce_str;
}
pub
丶盻神
- 粉丝: 1
- 资源: 2
最新资源
- (源码)基于LLVM框架的代码生成与优化系统.zip
- (源码)基于Arduino的花盆自动化系统.zip
- (源码)基于ZigBee和STM32的智能家居环境监测监控系统.zip
- (源码)基于TensorFlow的多GPU CIFAR10并行训练系统.zip
- (源码)基于C++和Qt框架的游戏工作室服务器管理系统.zip
- (源码)基于Spring Boot的赛事管理系统.zip
- (源码)基于C#和ASP.NET Core的智能家居管理系统.zip
- (源码)基于rosserial的STM32嵌入式ROS通信系统库(Yoneken版改进版).zip
- 9.4 使用生成的识别器模型faceModel.xml预测新图像,并输出匹配结果标签和置信度
- (源码)基于Spring Boot和Shiro的电商管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页