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

cn.ipokerface.weixin.proxy.OrderProxy Maven / Gradle / Ivy

There is a newer version: 1.5.0
Show newest version
package cn.ipokerface.weixin.proxy;

import cn.ipokerface.weixin.exception.WeixinException;
import cn.ipokerface.weixin.model.WeixinPayAccount;
import cn.ipokerface.weixin.model.custom.CustomCity;
import cn.ipokerface.weixin.proxy.merchant.IdQuery;
import cn.ipokerface.weixin.proxy.order.CustomOrder;
import cn.ipokerface.weixin.proxy.order.CustomOrderRecord;
import cn.ipokerface.weixin.proxy.order.CustomOrderResult;
import cn.ipokerface.weixin.request.WeixinApis;
import cn.ipokerface.weixin.request.WeixinResponse;
import cn.ipokerface.weixin.xml.ListSuffixResultDeserializer;
import cn.ipokerface.weixin.xml.XmlFormatter;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;

/**
 * Created by       PokerFace
 * Create Date      2019-12-28.
 * Email:           [email protected]
 * Version          1.0.0
 * 

* Description: */ public class OrderProxy extends MerchantProxy { public OrderProxy(WeixinPayAccount weixinAccount) { super(weixinAccount); } /** * 订单附加信息提交 * * @param customsOrder * 附加订单信息 * @return 报关结果 * @see cn.ipokerface.weixin.proxy.order.CustomOrder * @see 附加订单信息提交接口 * @throws WeixinException */ public CustomOrderResult declareCustomsOrder(CustomOrder customsOrder) throws WeixinException { JSONObject para = (JSONObject) JSON.toJSON(customsOrder); para.put("appid", weixinPayAccount.getId()); para.put("mch_id", weixinPayAccount.getMchId()); para.put("sign", weixinSignature.sign(para)); String param = XmlFormatter.map2xml(para); WeixinResponse response = weixinRequestClient.post( WeixinApis.customs_order_declare_uri, param); return response.getAsObject(new TypeReference() { }); } /** * 订单附加信息查询 * * @param idQuery * out_trade_no,transaction_id,sub_order_no,sub_order_id四选一 * @param customsCity * 海关 * @return 报关记录 * @see cn.ipokerface.weixin.proxy.order.CustomOrderRecord * @see 附加订单信息查询接口 * @throws WeixinException */ public CustomOrderRecord queryCustomsOrder(IdQuery idQuery, CustomCity customsCity) throws WeixinException { JSONObject para = new JSONObject(); para.put("appid", weixinPayAccount.getId()); para.put("mch_id", weixinPayAccount.getMchId()); para.put(idQuery.getType().getName(), idQuery.getId()); para.put("customs", customsCity.name()); para.put("sign", weixinSignature.sign(para)); String param = XmlFormatter.map2xml(para); WeixinResponse response = weixinRequestClient.post( WeixinApis.customs_order_query_uri, param); return ListSuffixResultDeserializer.deserialize(response.getAsString(), CustomOrderRecord.class); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy