Commit 88dc5b5e authored by zhang_z's avatar zhang_z

BUG修改;

parent 992b09bd
......@@ -19,6 +19,7 @@
<w>invalidmerno</w>
<w>invalidstore</w>
<w>jsonpay</w>
<w>jspay</w>
<w>kongming</w>
<w>kongrong</w>
<w>kongrun</w>
......@@ -27,11 +28,13 @@
<w>lvzhi</w>
<w>mawu</w>
<w>mernoblocked</w>
<w>micropay</w>
<w>nong</w>
<w>noti</w>
<w>parametererror</w>
<w>patt</w>
<w>posppp</w>
<w>qrpay</w>
<w>shixiu</w>
<w>shopppp</w>
<w>signerror</w>
......@@ -48,6 +51,7 @@
<w>yanqing</w>
<w>yuefei</w>
<w>yuji</w>
<w>yyyymmddhhmmss</w>
<w>zhangfei</w>
<w>zhouyu</w>
<w>zzdpos</w>
......
......@@ -2,9 +2,11 @@ package com.xingdata.zzdpos.ui.settle;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.StringUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.api.print.ZX_PrintPOS;
import com.xingdata.zxpay.PayCenter;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.api.ApiFactory;
import com.xingdata.zzdpos.api.JniFactory;
......@@ -90,14 +92,6 @@ public class SettlePresenter extends SettleContract.Presenter {
//这一版不作处理
}
};
// ApiFactory.Pay.getPayKey().subscribe(LogUtils::d, throwable -> LogUtils.e(throwable.getMessage()));
// PayCenter.getInstance().init();
// PayCenter.getInstance().pay().subscribe(response -> {
// LogUtils.e(response.getMsg());
// }, throwable -> {
// LogUtils.e(throwable.getMessage());
// });
}
/**
......@@ -232,49 +226,73 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
public void payInAli(String payCode) {
mView.showLoadingDialog();
// commitOrder()
// .flatMap(orderNo -> JniFactory.Settle.pay(C.PAY_CHANNEL.ALI, payCode, mSaleorder.getOrderPayAmt(), orderNo))
// .doFinally(() -> mView.dismissLoadingDialog())
// .subscribe(
// response -> {
// com.xingdata.zzdpos.api.Pay.Response r1 = JSON.parseObject(response.replace("\\", ""), com.xingdata.zzdpos.api.Pay.Response.class);
// switch (r1.getResponseCode()) {
// case "0000":
// subscribePay(commitOrder().flatMap(orderNo -> ApiFactory.Saleorder.addOrderPayMis(mSaleorder.pay(orderNo, C.PAY_CHANNEL.ALI)).doFinally(() -> mView.dismissLoadingDialog())));
// break;
// case "0098":
// mView.showPayingDialog(C.PAY_CHANNEL.ALI, r1);
// break;
// default:
// mView.showPayFailFragment(null, mSaleorder);
// break;
// }
// },
// throwable -> mView.showPayFailFragment(throwable, mSaleorder));
commitOrder()
.flatMap(orderNo -> JniFactory.Settle.pay(C.PAY_CHANNEL.ALI, payCode, mSaleorder.getOrderPayAmt(), orderNo))
.flatMap(orderNo -> PayCenter.getInstance().pay(C.PAY_CHANNEL.ALI, payCode, mSaleorder.getOrderPayAmt()))
.doFinally(() -> mView.dismissLoadingDialog())
.subscribe(
response -> {
com.xingdata.zzdpos.api.Pay.Response r1 = JSON.parseObject(response.replace("\\", ""), com.xingdata.zzdpos.api.Pay.Response.class);
switch (r1.getResponseCode()) {
case "0000":
subscribePay(commitOrder().flatMap(orderNo -> ApiFactory.Saleorder.addOrderPayMis(mSaleorder.pay(orderNo, C.PAY_CHANNEL.ALI)).doFinally(() -> mView.dismissLoadingDialog())));
break;
case "0098":
mView.showPayingDialog(C.PAY_CHANNEL.ALI, r1);
break;
default:
mView.showPayFailFragment(null, mSaleorder);
break;
}
LogUtils.e(response.getMsg());
},
throwable -> mView.showPayFailFragment(throwable, mSaleorder));
throwable -> {
mView.showPayFailFragment(throwable, mSaleorder);
});
}
@Override
public void payInWechat(String payCode) {
mView.showLoadingDialog();
commitOrder()
.flatMap(orderNo -> JniFactory.Settle.pay(C.PAY_CHANNEL.WECHAT, payCode, mSaleorder.getOrderPayAmt(), orderNo))
// commitOrder()
// .flatMap(orderNo -> JniFactory.Settle.pay(C.PAY_CHANNEL.WECHAT, payCode, mSaleorder.getOrderPayAmt(), orderNo))
// .doFinally(() -> mView.dismissLoadingDialog())
// .subscribe(
// response -> {
// com.xingdata.zzdpos.api.Pay.Response r1 = JSON.parseObject(response.replace("\\", ""), com.xingdata.zzdpos.api.Pay.Response.class);
// switch (r1.getResponseCode()) {
// case C.PAY_STATE.SUCC:
// subscribePay(commitOrder().flatMap(orderNo -> ApiFactory.Saleorder.addOrderPayMis(mSaleorder.pay(orderNo, C.PAY_CHANNEL.WECHAT)).doFinally(() -> mView.dismissLoadingDialog())));
// break;
// case C.PAY_STATE.PAYING:
// mView.showPayingDialog(C.PAY_CHANNEL.WECHAT, r1);
// break;
// default:
// mView.showPayFailFragment(null, mSaleorder);
// break;
// }
// },
// throwable -> mView.showPayFailFragment(throwable, mSaleorder));
ApiFactory.Pay.getPayKey().flatMap(s -> {
return Observable.just(commitOrder()
.flatMap(orderNo -> PayCenter.getInstance().init(s).pay(C.PAY_CHANNEL.WECHAT, payCode, mSaleorder.getOrderPayAmt()))
.doFinally(() -> mView.dismissLoadingDialog())
.subscribe(
response -> {
com.xingdata.zzdpos.api.Pay.Response r1 = JSON.parseObject(response.replace("\\", ""), com.xingdata.zzdpos.api.Pay.Response.class);
switch (r1.getResponseCode()) {
case C.PAY_STATE.SUCC:
subscribePay(commitOrder().flatMap(orderNo -> ApiFactory.Saleorder.addOrderPayMis(mSaleorder.pay(orderNo, C.PAY_CHANNEL.WECHAT)).doFinally(() -> mView.dismissLoadingDialog())));
break;
case C.PAY_STATE.PAYING:
mView.showPayingDialog(C.PAY_CHANNEL.WECHAT, r1);
break;
default:
mView.showPayFailFragment(null, mSaleorder);
break;
}
LogUtils.e(response.getMsg());
},
throwable -> mView.showPayFailFragment(throwable, mSaleorder));
throwable -> {
mView.showPayFailFragment(throwable, mSaleorder);
})
);
}).subscribe();
}
@Override
......
......@@ -102,7 +102,7 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
});
mScanFragment.setOnScanCompletedListener(barcode -> mPresenter.scanComplete(barcode));
mScanFragment.setOnBackPressedListener(this::backToStoreFragment);
}
@Override
......@@ -214,7 +214,10 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
@Override
public void showScanFragment() {
if (!mScanFragment.isAdded()) this.start(mScanFragment);
if (!mScanFragment.isAdded()) {
mViewBinding.tvTitle.setText(R.string.store_scanner);
this.start(mScanFragment);
}
}
@Override
......
......@@ -601,6 +601,7 @@
<string name="store_clear_all">全部清空</string>
<string name="store_ms_dis">已减</string>
<string name="store_scan">扫描</string>
<string name="store_scanner">扫描商品</string>
<string name="store_search_hint">请输入商品名称/助记码/条码</string>
<string name="store_reduce">减少</string>
<string name="store_increase">添加</string>
......
......@@ -54,11 +54,20 @@ public class C {
public final static int QUERY = 400;
}
public final class PAY_CHANNEL {
public static final int CASH = 1;
public static final int WECHAT = 2;
public static final int ALI = 3;
public static final int BANK = 4;
public static final int CARD = 5;
public static final int TALLY = 9;
}
/**
* 渠道
*/
public static final class CHANNEL {
/**
* 惠尔丰平台的渠道编号
*/
......
package com.xingdata.zxpay;
import com.alibaba.fastjson.JSON;
import com.xingdata.zxpay.api.Response;
import com.xingdata.zxpay.model.Shopppp;
import com.xingdata.zxpay.pax.Factory;
......@@ -23,16 +24,13 @@ public class PayCenter {
*/
public Shopppp mShopppp;
public void init() {
mShopppp = new Shopppp();
mShopppp.setHshopKeyUnipay("http://114.55.31.38:8008");
public PayCenter init(String json) {
mShopppp = JSON.parseObject(json, Shopppp.class);
return this;
}
public Observable<Response> pay() {
//TODO 判断当前渠道
//TODO 返回执行结果
return Factory.pay("111", "333");
public Observable<Response> pay(int payChannel, String payCode, Long orderAmt) {
return Factory.pay(payChannel, payCode, Util.fenToYuan(orderAmt));
}
public Observable query() {
......
package com.xingdata.zxpay;
import com.blankj.utilcode.util.StringUtils;
import java.math.BigDecimal;
class Util {
/**
* 分转元
*
* @param fen 分
* @return 元
*/
public static String fenToYuan(Long fen) {
if (fen == null || fen == 0) return "0.00";
BigDecimal decimal = new BigDecimal(fen);
return decimal.divide(new BigDecimal(100), 2, BigDecimal.ROUND_DOWN).toString();
}
// /**
// * 分转元
// *
// * @param fen 分
// * @return 元
// */
// public static String fenToYuan(Long fen) {
// if (fen == null || fen == 0) return "0.00";
// java.text.DecimalFormat df = new java.text.DecimalFormat("#.00");
// return String.valueOf(df.format((double) fen / 100));
// }
/**
* 分转元
*
* @param fen 分
* @return 元
*/
public static String fenToYuanNoPoint(Long fen) {
if (fen == null) return "0";
return String.valueOf(fen / 100);
}
/**
* 折扣率转换
*
* @param dis 分
* @return 元
*/
public static String discount(int dis) {
String strFen = String.valueOf((double) dis / 10);
return noZero(strFen);
}
/**
* 分转元
*
* @param fen 分
* @param isMonetary 是否有货币单位
* @return 元
*/
public static String fenToYuan(Long fen, boolean isMonetary) {
return (isMonetary ? "¥" : "") + fenToYuan(fen);
}
/**
* 元转分
*
* @param yuan 元
* @return 分
*/
public static Long yuanToFen(String yuan) {
yuan = StringUtils.isEmpty(yuan) ? "0" : yuan;
BigDecimal b = new BigDecimal(Double.valueOf(yuan) * 100);
return b.setScale(0, BigDecimal.ROUND_HALF_UP).longValue();
}
/**
* 字符串转数字
*
* @param str 字符串
* @return 数字
*/
public static Long stringToLong(String str) {
str = StringUtils.isEmpty(str) ? "0" : str;
return Long.valueOf(str);
}
/**
* 数字转字符串
*
* @param l 数字
* @return 字符串
*/
public static String longToString(Long l) {
if (l == null) return "0";
return String.valueOf(l);
}
/**
* 分转元去掉.0 ROUND_DOWN
*
* @param fen 分
* @return 元
*/
public static String fenToYuanNoZero(Long fen) {
String ss = fenToYuan2(fen);
return noZero(ss);
}
private static String noZero(String ss) {
if (ss.endsWith(".00")) {
ss = ss.replace(".00", "");
} else if (ss.endsWith(".0")) {
ss = ss.replace(".0", "");
} else if (ss.endsWith("0")) {
ss = ss.substring(0, ss.length() - 1);
}
return ss;
}
/**
* 分转元保留2位小數
*
* @param fen 分
* @return 元
*/
public static String fenToYuan2(Long fen) {
if (fen == null) {
return "0.00";
}
BigDecimal decimal = new BigDecimal(fen);
return decimal.divide(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN).toString();
}
/**
* 折扣率转换最大100
*
* @param dis 分
* @return 元
*/
public static String discount(Long dis) {
if (dis > 100) {
return "10";
}
BigDecimal decimal = new BigDecimal(dis);
return decimal.divide(new BigDecimal(10)).setScale(0, BigDecimal.ROUND_DOWN).toString();
}
}
package com.xingdata.zxpay.api;
import android.support.annotation.NonNull;
import com.xingdata.zxpay.C;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.concurrent.TimeUnit;
import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.HttpUrl;
import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
......@@ -31,28 +24,12 @@ public abstract class Api {
.addHeader("Content-Type", C.HEAD.CONTENT_TYPE)
.build());
//COOKIE
CookieJar cookieJar = new CookieJar() {
private HashMap<String, Cookie> cookieMap = new HashMap<>();
@Override
public void saveFromResponse(@NonNull HttpUrl url, @NonNull List<Cookie> cookies) {
for (int i = 0; i < cookies.size(); i++) {
cookieMap.put(cookies.get(i).name(), cookies.get(i));
}
}
@Override
public List<Cookie> loadForRequest(@NonNull HttpUrl url) {
return new ArrayList<>(cookieMap.values());
}
};
//Client
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(30, TimeUnit.SECONDS)
.connectTimeout(30, TimeUnit.SECONDS)
.addInterceptor(headInterceptor)
.addInterceptor(logInterceptor)
.cookieJar(cookieJar)
.build();
......
......@@ -3,7 +3,6 @@ package com.xingdata.zxpay.api;
import android.support.annotation.NonNull;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import java.io.IOException;
import java.lang.annotation.Annotation;
......@@ -17,7 +16,7 @@ import okio.Okio;
import retrofit2.Converter;
import retrofit2.Retrofit;
public class ConverterFactory extends Converter.Factory {
class ConverterFactory extends Converter.Factory {
public static ConverterFactory create() {
return new ConverterFactory();
......@@ -40,8 +39,7 @@ public class ConverterFactory extends Converter.Factory {
@Override
public RequestBody convert(@NonNull T value) throws IOException {
return RequestBody.create(MEDIA_TYPE, JSON.toJSONBytes(value, SerializerFeature
.WriteMapNullValue));
return RequestBody.create(MEDIA_TYPE, JSON.toJSONBytes(value));
}
}
......
......@@ -6,7 +6,6 @@ import io.reactivex.schedulers.Schedulers;
public class Factory {
protected static <T> Observable<T> run(Observable<T> observable) {
return observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
......
package com.xingdata.zxpay.pax;
public class Api extends com.xingdata.zxpay.api.Api {
import com.xingdata.zxpay.PayCenter;
class Api extends com.xingdata.zxpay.api.Api {
Service service;
private static class ApiHolder {
private static final Api INSTANCE = new Api();
}
public static Api getInstance() {
static Api getInstance() {
return ApiHolder.INSTANCE;
}
......@@ -20,6 +21,6 @@ public class Api extends com.xingdata.zxpay.api.Api {
@Override
protected String getBaseUrl() {
return C.BASE_URL;
return PayCenter.getInstance().mShopppp.getHost().getHostAddr();
}
}
package com.xingdata.zxpay.pax;
class C {
/**
* 版本
*/
static final String VERSION = "V1.0";
/**
* 测试数据
*/
class TEST {
/**
* 机构号
*/
static final String AGENT_ID = "88888881";
/**
* 商户号
*/
static final String MCH_ID = "888888888888881";
/**
* 终端号
*/
static final String TER_ID = "00000001";
/**
* KEY
*/
static final String KEY = "Abcdef1234567890";
}
/**
* 地址
*/
class URL {
final static String BASE_URL = "http://114.55.31.38:8008";
final static String ACTION = "/tps/api/instrans";
}
/**
* 返回的状态CODE
*/
class CODE {
/**
* 当前交易成功
*/
......@@ -65,4 +101,50 @@ class C {
* 交易失败
*/
static final String FAIL = "FAIL";
}
/**
* 交易码
*/
class METHOD {
/**
* 刷卡支付
*/
static final String MICROPAY = "micropay";
/**
* 二维码支付
*/
static final String QRPAY = "qrpay";
/**
* 公众号支付
*/
static final String JSPAY = "jspay";
/**
* 退款
*/
static final String REFUND = "refund";
/**
* 撤销
*/
static final String CANCEL = "cancel";
/**
* 查询
*/
static final String QUERY = "query";
}
/**
* 签名类型
*/
class SIGN_TYPE {
/**
* MD5
*/
static final String MD5 = "MD5";
}
}
......@@ -2,23 +2,54 @@ package com.xingdata.zxpay.pax;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.TimeUtils;
import com.xingdata.zxpay.PayCenter;
import com.xingdata.zxpay.api.Response;
import java.text.SimpleDateFormat;
import java.util.Locale;
import io.reactivex.Observable;
public class Factory extends com.xingdata.zxpay.api.Factory {
public static Observable<com.xingdata.zxpay.api.Response> pay(String a, String b) {
Request request = new Request();
request.setReserved(a);
request.setMethod(b);
private static SimpleDateFormat format = new SimpleDateFormat("yyyymmddhhmmss", Locale.getDefault());
/**
* 条码支付
*
* @param payChannel 支付渠道
* @param authCode 支付码
* @param totalAmount 总金额(单位元)
* @return 交易结果
*/
public static Observable<com.xingdata.zxpay.api.Response> pay(int payChannel, String authCode, String totalAmount) {
Request request = Request.create(C.METHOD.MICROPAY);
request.setOutTransactionNo(PayCenter.getInstance().mShopppp.getPosppp().getHposTrace());
request.setTimeStart(TimeUtils.getNowString(format));
request.setAuthCode(authCode);
request.setTotalAmount(totalAmount);
switch (payChannel) {
case com.xingdata.zxpay.C.PAY_CHANNEL.ALI:
request.setKey(PayCenter.getInstance().mShopppp.getHshopKeyAlipay());
break;
case com.xingdata.zxpay.C.PAY_CHANNEL.WECHAT:
request.setKey(PayCenter.getInstance().mShopppp.getHshopKeyWechat());
break;
case com.xingdata.zxpay.C.PAY_CHANNEL.BANK:
request.setKey(PayCenter.getInstance().mShopppp.getHshopKeyUnipay());
break;
}
request.sign();
return run(Api.getInstance().service.action(request))
.flatMap(response -> Observable.just(new Response(JSON.toJSONString(response))));
.flatMap(response -> {
return Observable.just(new Response(JSON.toJSONString(response)));
});
}
public static Observable query(String c, String d) {
Request request = new Request();
Request request = Request.create(C.METHOD.QUERY);
request.setAgentId(c);
request.setExpTime(d);
return Api.getInstance().service.action(request);
......
package com.xingdata.zxpay.pax;
import android.support.annotation.Nullable;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONField;
import com.blankj.utilcode.util.EncryptUtils;
import com.xingdata.zxpay.PayCenter;
class Request {
@JSONField(serialize = false)
private String key;
private Request() {
this.signType = C.SIGN_TYPE.MD5;
this.version = C.VERSION;
// {//TODO 测试数据
// this.agentId = C.TEST.AGENT_ID;
// this.mchId = C.TEST.MCH_ID;
// this.terId = C.TEST.TER_ID;
// }
{//TODO 正式数据
this.agentId = String.valueOf(PayCenter.getInstance().mShopppp.getHost().getHostAcqCode());
this.mchId = String.valueOf(PayCenter.getInstance().mShopppp.getHshopNo());
this.terId = String.valueOf(PayCenter.getInstance().mShopppp.getPosppp().getHposNo());
}
}
public class Request {
/**
* 条码支付
*
* @return 条码支付基本对象
*/
static Request create(String method) {
Request request = new Request();
request.setMethod(method);
return request;
}
/**
* 版本
* 签名
*/
void sign() {
String json = JSON.toJSONString(this);
json = json.replace(":", "=").replace(",", "&").replace("\"", "").replace("{", "").replace("}", "");
this.sign = EncryptUtils.encryptMD5ToString(json + "&key=" + key).toUpperCase();
}
/**
* 版本-
*/
@JSONField(name = "version")
@Nullable
private String version;
/**
......@@ -53,14 +93,12 @@ public class Request {
* 订单标题
*/
@JSONField(name = "subject")
@Nullable
private String subject;
/**
* 商品描述
*/
@JSONField(name = "body")
@Nullable
private String body;
/**
......@@ -73,33 +111,29 @@ public class Request {
* 货币种类
*/
@JSONField(name = "currency")
@Nullable
private String currency;
/**
* 订单金额
*/
@JSONField(name = "auth_code")
@JSONField(name = "total_amount")
private String totalAmount;
/**
* 小费金额
*/
@JSONField(name = "fee_amount")
@Nullable
private String feeAmount;
/**
* 商户保留域
*/
@JSONField(name = "reserved")
@Nullable
private String reserved;
/**
* 超时等待时间(秒)
*/
@JSONField(name = "exp_time")
@Nullable
private String expTime;
/**
......@@ -115,146 +149,153 @@ public class Request {
private String sign;
@Nullable
public String getVersion() {
String getVersion() {
return version;
}
public void setVersion(@Nullable String version) {
void setVersion(String version) {
this.version = version;
}
public String getMethod() {
String getMethod() {
return method;
}
public void setMethod(String method) {
void setMethod(String method) {
this.method = method;
}
public String getAgentId() {
String getAgentId() {
return agentId;
}
public void setAgentId(String agentId) {
void setAgentId(String agentId) {
this.agentId = agentId;
}
public String getMchId() {
String getMchId() {
return mchId;
}
public void setMchId(String mchId) {
void setMchId(String mchId) {
this.mchId = mchId;
}
public String getTerId() {
String getTerId() {
return terId;
}
public void setTerId(String terId) {
void setTerId(String terId) {
this.terId = terId;
}
public int getOutTransactionNo() {
int getOutTransactionNo() {
return outTransactionNo;
}
public void setOutTransactionNo(int outTransactionNo) {
void setOutTransactionNo(int outTransactionNo) {
this.outTransactionNo = outTransactionNo;
}
public String getTimeStart() {
String getTimeStart() {
return timeStart;
}
public void setTimeStart(String timeStart) {
void setTimeStart(String timeStart) {
this.timeStart = timeStart;
}
@Nullable
public String getSubject() {
String getSubject() {
return subject;
}
public void setSubject(@Nullable String subject) {
void setSubject(String subject) {
this.subject = subject;
}
@Nullable
public String getBody() {
String getBody() {
return body;
}
public void setBody(@Nullable String body) {
void setBody(String body) {
this.body = body;
}
public String getAuthCode() {
String getAuthCode() {
return authCode;
}
public void setAuthCode(String authCode) {
void setAuthCode(String authCode) {
this.authCode = authCode;
}
@Nullable
public String getCurrency() {
String getCurrency() {
return currency;
}
public void setCurrency(@Nullable String currency) {
void setCurrency(String currency) {
this.currency = currency;
}
public String getTotalAmount() {
String getTotalAmount() {
return totalAmount;
}
public void setTotalAmount(String totalAmount) {
void setTotalAmount(String totalAmount) {
this.totalAmount = totalAmount;
}
@Nullable
public String getFeeAmount() {
String getFeeAmount() {
return feeAmount;
}
public void setFeeAmount(@Nullable String feeAmount) {
void setFeeAmount(String feeAmount) {
this.feeAmount = feeAmount;
}
@Nullable
public String getReserved() {
String getReserved() {
return reserved;
}
public void setReserved(@Nullable String reserved) {
void setReserved(String reserved) {
this.reserved = reserved;
}
@Nullable
public String getExpTime() {
String getExpTime() {
return expTime;
}
public void setExpTime(@Nullable String expTime) {
void setExpTime(String expTime) {
this.expTime = expTime;
}
public String getSignType() {
String getSignType() {
return signType;
}
public void setSignType(String signType) {
void setSignType(String signType) {
this.signType = signType;
}
public String getSign() {
String getSign() {
return sign;
}
public void setSign(String sign) {
void setSign(String sign) {
this.sign = sign;
}
String getKey() {
return key;
}
void setKey(String key) {
this.key = key;
}
}
......@@ -2,7 +2,7 @@ package com.xingdata.zxpay.pax;
import com.alibaba.fastjson.annotation.JSONField;
public class Response {
class Response {
/**
* 交易码
*/
......@@ -33,43 +33,43 @@ public class Response {
@JSONField(name = "msg")
private String msg;
public String getMethod() {
String getMethod() {
return method;
}
public void setMethod(String method) {
void setMethod(String method) {
this.method = method;
}
public String getAgentId() {
String getAgentId() {
return agentId;
}
public void setAgentId(String agentId) {
void setAgentId(String agentId) {
this.agentId = agentId;
}
public String getMchId() {
String getMchId() {
return mchId;
}
public void setMchId(String mchId) {
void setMchId(String mchId) {
this.mchId = mchId;
}
public String getCode() {
String getCode() {
return code;
}
public void setCode(String code) {
void setCode(String code) {
this.code = code;
}
public String getMsg() {
String getMsg() {
return msg;
}
public void setMsg(String msg) {
void setMsg(String msg) {
this.msg = msg;
}
}
......@@ -4,8 +4,7 @@ import io.reactivex.Observable;
import retrofit2.http.Body;
import retrofit2.http.POST;
public interface Service {
@POST(C.ACTION)
interface Service {
@POST(C.URL.ACTION)
Observable<Response> action(@Body com.xingdata.zxpay.pax.Request request);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment