All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.beecloud.bean.BCOrder Maven / Gradle / Ivy

package cn.beecloud.bean;

import cn.beecloud.BCEumeration;
import java.util.Map;

import cn.beecloud.BCEumeration.PAY_CHANNEL;
import cn.beecloud.BCEumeration.QR_PAY_MODE;
import cn.beecloud.BCEumeration.GATEWAY_BANK;


/**
 * 支付订单类,封装了BeeCloud订单信息
 * 
 * @author Rui.Feng
 * @since 2015.9.24
 */
public class BCOrder {

    private String objectId;

    private PAY_CHANNEL channel;

    private Integer totalFee;

    private String billNo;

    private String title;

    private String codeUrl;

    private String html;

    private String url;

    private Map wxJSAPIMap;

    private Map optional;

    private String optionalString;

    private String returnUrl;

    private String notifyUrl;

    private Integer billTimeout;

    private String openId;

    private String showUrl;

    private QR_PAY_MODE qrPayMode;

    private String cardNo;

    private String cardPwd;

    private String frqid;

    private String identityId;

    private String channelTradeNo;

    private boolean result;

    private boolean refundResult;

    private boolean revertResult;

    private Boolean useApp;

    private String messageDetail = "不显示";

    private String dateTime;

    private GATEWAY_BANK gatewayBank;

    private String bcExpressCardNo;


    public BCOrder() {}

    /**
     * 构造函数,参数为发起支付的4个必填参数
     * 
     * @param channel
     * {@link #setChannel}
     * @param totalFee
     * {@link #setTotalFee}
     * @param billNo
     * {@link #setBillNo}
     * @param title
     * {@link #setTitle}
     */
    public BCOrder(PAY_CHANNEL channel, Integer totalFee, String billNo, String title) {
        this.channel = channel;
        this.totalFee = totalFee;
        this.billNo = billNo;
        this.title = title;
    }

    /**
     * 访问字段 {@link #channel}
     */
    public PAY_CHANNEL getChannel() {
        return channel;
    }

    /**
     * 访问字段 {@link #totalFee}
     */
    public Integer getTotalFee() {
        return totalFee;
    }

    /**
     * 访问字段 {@link #billNo}
     */
    public String getBillNo() {
        return billNo;
    }

    /**
     * 访问字段 {@link #title}
     */
    public String getTitle() {
        return title;
    }

    /**
     * 访问字段 {@link #optional}
     */
    public Map getOptional() {
        return optional;
    }

    /**
     * @param optional
     * 附加数据, 用户自定义的参数,将会在webhook通知中原样返回,该字段主要用于商户携带订单的自定义数据 (选填)
     */
    public void setOptional(Map optional) {
        this.optional = optional;
    }

    /**
     * 访问字段 {@link #returnUrl}
     */
    public String getReturnUrl() {
        return returnUrl;
    }

    /**
     * @param returnUrl
     * 同步返回页面, 支付渠道处理完请求后,当前页面自动跳转到商户网站里指定页面的http路径, 当 channel 参数为 ALI_WEB 或
     * ALI_QRCODE 或 UN_WEB 或JD_WEB 或JD_WAP时为必填 (选填)
     */
    public void setReturnUrl(String returnUrl) {
        this.returnUrl = returnUrl;
    }

    /**
     * 访问字段 {@link #notifyUrl}
     */
    public String getNotifyUrl() {
        return notifyUrl;
    }

    /**
     * @param notifyUrl
     * 异步回调地址 (选填)
     */
    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }

    /**
     * 访问字段 {@link #billTimeout}
     */
    public Integer getBillTimeout() {
        return billTimeout;
    }

    /**
     * @param billTimeout
     * 订单失效时间,单位秒,非零正整数,建议不小于360,快钱(KQ)不支持该参数 (选填)
     */
    public void setBillTimeout(Integer billTimeout) {
        this.billTimeout = billTimeout;
    }

    /**
     * 访问字段 {@link #openId}
     */
    public String getOpenId() {
        return openId;
    }

    /**
     * 访问字段 {@link #identityId}
     */
    public String getIdentityId() {
        return identityId;
    }

    /**
     * @param openId
     * 微信公众号支付(WX_JSAPI)必填 (选填)
     */
    public void setOpenId(String openId) {
        this.openId = openId;
    }

    /**
     * @param identityId
     * 易宝快捷支付(YEE_WAP)必填 (选填)
     */
    public void setIdentityId(String identityId) {
        this.identityId = identityId;
    }

    /**
     * 访问字段 {@link #showUrl}
     */
    public String getShowUrl() {
        return showUrl;
    }

    /**
     * @param showUrl
     * 商品展示地址,需以http://开头的完整路径,例如:http://www.商户网址.com/myorder,(ALI_WEB)的选填参数
     * (选填)
     */
    public void setShowUrl(String showUrl) {
        this.showUrl = showUrl;
    }

    /**
     * 访问字段 {@link #qrPayMode}
     */
    public QR_PAY_MODE getQrPayMode() {
        return qrPayMode;
    }

    /**
     * @param qrPayMode
     * 二维码类型,(ALI_QRCODE)的必填参数,二维码类型含义, {@link QR_PAY_MODE#MODE_BRIEF_FRONT}:
     * 订单码-简约前置模式, 对应 iframe 宽度不能小于 600px, 高度不能小于 300px
     * {@link QR_PAY_MODE#MODE_FRONT}: 订单码-前置模式, 对应 iframe 宽度不能小于 300px, 高度不能小于
     * 600px {@link QR_PAY_MODE#MODE_MINI_FRONT}, 对应 iframe 宽度不能小于 75px, 高度不能小于
     * 75px (选填)
     */
    public void setQrPayMode(QR_PAY_MODE qrPayMode) {
        this.qrPayMode = qrPayMode;
    }

    /**
     * 访问字段 {@link #cardNo}
     */
    public String getCardNo() {
        return cardNo;
    }

    /**
     * @param cardNo
     * 点卡卡号,(YEE_NOBANKCARD)的必填参数,每种卡的要求不一样,例如易宝支持的QQ币卡号是9位的,江苏省内部的QQ币卡号是15位,
     * 易宝不支付 (选填)
     */
    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    /**
     * 访问字段 {@link #cardPwd}
     */
    public String getCardPwd() {
        return cardPwd;
    }

    /**
     * @param cardPwd
     * 点卡密码,简称卡密, (YEE_NOBANKCARD)的必填参数 (选填)
     */
    public void setCardPwd(String cardPwd) {
        this.cardPwd = cardPwd;
    }

    /**
     * 访问字段 {@link #frqid}
     */
    public String getFrqid() {
        return frqid;
    }

    /**
     * @param frqid
     * 点卡类型编码,(YEE_NOBANKCARD)的必填参数,包含: 骏网一卡通(JUNNET) 盛大卡(SNDACARD) 神州行(SZX)
     * 征途卡(ZHENGTU) Q币卡(QQCARD) 联通卡(UNICOM) 久游卡(JIUYOU) 易充卡(YICHONGCARD)
     * 网易卡(NETEASE) 完美卡(WANMEI) 搜狐卡(SOHU) 电信卡(TELECOM) 纵游一卡通(ZONGYOU)
     * 天下一卡通(TIANXIA) 天宏一卡通(TIANHONG) 一卡通(THIRTYTWOCARD)
     */
    public void setFrqid(String frqid) {
        this.frqid = frqid;
    }

    /**
     * @param channel
     * 渠道类型, 根据不同场景选择不同的支付方式,包含: {@link PAY_CHANNEL#WX_NATIVE}: 微信公众号二维码支付
     * {@link PAY_CHANNEL#WX_JSAPI}: 微信公众号支付 {@link PAY_CHANNEL#ALI_WEB}:
     * 支付宝网页支付 {@link PAY_CHANNEL#ALI_QRCODE}: 支付宝内嵌二维码支付
     * {@link PAY_CHANNEL#ALI_WAP}: 支付宝移动网页支付 {@link PAY_CHANNEL#UN_WEB}: 银联网页支付
     * {@link PAY_CHANNEL#JD_WAP}: 京东移动网页支付 {@link PAY_CHANNEL#JD_WEB}: 京东PC网页支付
     * {@link PAY_CHANNEL#YEE_WAP}: 易宝移动网页支付 {@link PAY_CHANNEL#YEE_WEB}:
     * 易宝PC网页支付 {@link PAY_CHANNEL#YEE_NOBANKCARD}: 易宝点卡支付
     * {@link PAY_CHANNEL#KUAIQIAN_WAP}: 快钱移动网页支付
     * {@link PAY_CHANNEL#KUAIQIAN_WEB}: 快钱PC网页支付 {@link PAY_CHANNEL#BD_WEB} :
     * 百度PC网页支付 {@link PAY_CHANNEL#BD_WAP}: 百度移动网页支付 (必填)
     */
    public void setChannel(PAY_CHANNEL channel) {
        this.channel = channel;
    }

    /**
     * @param totalFee
     * 订单总金额, 只能为整数,单位为分,例如 1 (必填)
     */
    public void setTotalFee(Integer totalFee) {
        this.totalFee = totalFee;
    }

    /**
     * @param billNo
     * 商户订单号, 8到32个字符内,数字和/或字母组合,确保在商户系统中唯一, 例如(201506101035040000001) (必填)
     */
    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    /**
     * @param title
     * 订单标题, 32个字节内,最长支持16个汉字 (必填)
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * @return 渠道交易号, 支付完成之后获得
     */
    public String getChannelTradeNo() {
        return channelTradeNo;
    }

    /**
     * @return 是否退款
     */
    public boolean isRefundResult() {
        return refundResult;
    }

    /**
     * @return 是否支付
     */
    public boolean isResult() {
        return result;
    }

    /**
     * 设置字段 {@link #result}
     */
    public void setResult(boolean result) {
        this.result = result;
    }

    /**
     * 设置字段 {@link #refundResult}
     */
    public void setRefundResult(boolean refundResult) {
        this.refundResult = refundResult;
    }

    /**
     * @return 订单是否撤销
     */
    public boolean isRevertResult() {
        return revertResult;
    }

    /**
     * 设置字段 {@link #revertResult}
     */
    public void setRevertResult(boolean revertResult) {
        this.revertResult = revertResult;
    }

    /**
     * @return 渠道信息
     */
    public String getMessageDetail() {
        return messageDetail;
    }

    /**
     * 设置字段 {@link #messageDetail}
     */
    public void setMessageDetail(String messageDetail) {
        this.messageDetail = messageDetail;
    }

    /**
     * @return 订单唯一标识
     */
    public String getObjectId() {
        return objectId;
    }

    /**
     * 设置字段 {@link #objectId}
     */
    public void setObjectId(String objectId) {
        this.objectId = objectId;
    }

    /**
     * @return WX_NATIVE 二维码url
     */
    public String getCodeUrl() {
        return codeUrl;
    }

    /**
     * 设置字段 {@link #codeUrl}
     */
    public void setCodeUrl(String codeUrl) {
        this.codeUrl = codeUrl;
    }

    /**
     * @return 支付提交html
     */
    public String getHtml() {
        return html;
    }

    /**
     * 设置字段 {@link #html}
     */
    public void setHtml(String html) {
        this.html = html;
    }

    /**
     * @return 支付跳转url
     */
    public String getUrl() {
        return url;
    }

    /**
     * 设置字段 {@link #url}
     */
    public void setUrl(String url) {
        this.url = url;
    }

    /**
     * @return WX_JSAPI 支付要素
     */
    public Map getWxJSAPIMap() {
        return wxJSAPIMap;
    }

    /**
     * 设置字段 {@link #wxJSAPIMap}
     */
    public void setWxJSAPIMap(Map wxJSAPIMap) {
        this.wxJSAPIMap = wxJSAPIMap;
    }

    /**
     * @return 订单创建时间
     */
    public String getDateTime() {
        return dateTime;
    }

    /**
     * 设置字段 {@link #dateTime}
     */
    public void setDateTime(String dateTime) {
        this.dateTime = dateTime;
    }

    /**
     * 设置字段 {@link #channelTradeNo}
     */
    public void setChannelTradeNo(String channelTradeNo) {
        this.channelTradeNo = channelTradeNo;
    }

    /**
     * @return optional json字符串
     */
    public String getOptionalString() {
        return optionalString;
    }

    /**
     * 设置字段 {@link #optionalString}
     */
    public void setOptionalString(String optionalString) {
        this.optionalString = optionalString;
    }

    /**
     * 访问字段 {@link #gatewayBank}
     */
    public GATEWAY_BANK getGatewayBank() {
        return gatewayBank;
    }

    /**
     * @param gatewayBank
     * BeeCloud网关支付支持银行,包含: {@link GATEWAY_BANK#CMB}: 招商银行
     * {@link GATEWAY_BANK#ICBC}: 工商银行 {@link GATEWAY_BANK#CCB}:
     * 建设银行(暂时不支持) {@link GATEWAY_BANK#BOC}: 中国银行
     * {@link GATEWAY_BANK#ABC}: 农业银行 {@link GATEWAY_BANK#BOCM}: 交通银行
     * {@link GATEWAY_BANK#SPDB}: 浦发银行 {@link GATEWAY_BANK#GDB}: 广发银行
     * {@link GATEWAY_BANK#CITIC}: 中信银行 {@link GATEWAY_BANK#CEB}:
     * 光大银行 {@link GATEWAY_BANK#CIB}: 兴业银行
     * {@link GATEWAY_BANK#SDB}: 平安银行
     * {@link GATEWAY_BANK#CMBC}: 民生银行 (选填),channel为BC_GATEWAY时必填
     */
    public void setGatewayBank(GATEWAY_BANK gatewayBank) {
        this.gatewayBank = gatewayBank;
    }

    /**
     * 访问字段 {@link #bcExpressCardNo}
     */
    public String getBcExpressCardNo() {
        return bcExpressCardNo;
    }

    /**
     * @param bcExpressCardNo
     * BC_EXPRESS指定卡号, 字符串 (选填)
     */
    public void setBcExpressCardNo(String bcExpressCardNo) {
        this.bcExpressCardNo = bcExpressCardNo;
    }

    /**
     * 访问字段 {@link #useApp}
     */
    public Boolean isUseApp() {
        return useApp;
    }

    /**
     * @param useApp
     * 是否尝试掉起支付宝APP原生支付, 默认为false, (ALI_WAP)的选填参数 (选填)
     */
    public void setUseApp(Boolean useApp) {
        this.useApp = useApp;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy