orderInfo) {
+ throw new UnsupportedOperationException();
+ }
+
+
+ /**
+ * 支付结果查询(直接返回)
+ *
+ * 返回结果例子
+ *
+ * 错误代码(0000表示成功 其他失败)错误中文描述商户订单号订单状态(‘00’ – 订单已生成(初始状态) ‘01’ – 订单已撤消 ‘02’ – 订单已合并 ‘03’ – 订单已过期 ‘04’ – 订单已确认(等待支付) ‘05’ – 订单支付失败 ‘11’ – 订单已支付 ‘18’ – 已发货 ‘19’ – 已确认收货)富友流水号保留字段md5
+ *
+ * md5为plain域的内容+商户密钥做md5,不包括plain标签
+ * 以下是MD5的内容
+ * 错误代码(0000表示成功 其他失败)错误中文描述商户订单号订单状态(‘00’ – 订单已生成(初始状态) ‘01’ – 订单已撤消 ‘02’ – 订单已合并 ‘03’ – 订单已过期 ‘04’ – 订单已确认(等待支付) ‘05’ – 订单支付失败 ‘11’ – 订单已支付 ‘18’ – 已发货 ‘19’ – 已确认收货)富友流水号保留字段商户密钥
+ *
+ * @param order_id
+ * @return
+ */
+ public JSONObject vaildatePayResult(String order_id) {
+ LinkedHashMap param = new LinkedHashMap();
+ param.put("mchnt_cd", payConfigStorage.getPartner());
+ param.put("order_id", order_id);
+ param.put("md5", createSign(SignUtils.parameters2MD5Str(param, "|"), payConfigStorage.getInputCharset()));
+ try {
+ String result = execute(new SimplePostRequestExecutor(), fuiouSmpAQueryGate, param);
+ JSONObject object = XML.toJSONObject(result);
+ return object;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+
+}
diff --git a/pay-java-fuiou/src/main/java/in/egan/pay/fuiou/bean/FuiouCurType.java b/pay-java-fuiou/src/main/java/in/egan/pay/fuiou/bean/FuiouCurType.java
new file mode 100644
index 0000000..705a53d
--- /dev/null
+++ b/pay-java-fuiou/src/main/java/in/egan/pay/fuiou/bean/FuiouCurType.java
@@ -0,0 +1,34 @@
+package in.egan.pay.fuiou.bean;/**
+ * Created by Fuzx on 2017/1/24 0024.
+ */
+
+import in.egan.pay.common.bean.CurType;
+
+/**
+ * @author Fuzx
+ * @create 2017 2017/1/24 0024
+ */
+public enum FuiouCurType implements CurType {
+
+ CNY("人民币"),
+ USD("美元"),
+ HKD("港币"),
+ MOP("澳门元"),
+ EUR("欧元"),
+ TWD("新台币"),
+ KRW("韩元"),
+ JPY("日元"),
+ SGD("新加坡元"),
+ AUD("澳大利亚元");
+
+ private String name;
+
+ private FuiouCurType(String name) {
+ this.name = name;
+ }
+ @Override
+ public String getCurType(){
+ return this.name();
+ }
+
+ }
diff --git a/pay-java-fuiou/src/main/java/in/egan/pay/fuiou/bean/FuiouTransactionType.java b/pay-java-fuiou/src/main/java/in/egan/pay/fuiou/bean/FuiouTransactionType.java
new file mode 100644
index 0000000..6234211
--- /dev/null
+++ b/pay-java-fuiou/src/main/java/in/egan/pay/fuiou/bean/FuiouTransactionType.java
@@ -0,0 +1,20 @@
+package in.egan.pay.fuiou.bean;
+
+import in.egan.pay.common.bean.TransactionType;
+
+/**
+ * 微信交易类型
+ * @author egan
+ * @email egzosn@gmail.com
+ * @date 2016/10/19 22:58
+ */
+public enum FuiouTransactionType implements TransactionType {
+ B2B,
+ B2C
+ ;
+
+ @Override
+ public String getType() {
+ return this.name();
+ }
+}
diff --git a/pay-java-fuiou/src/main/java/in/egan/pay/fuiou/utils/SimplePostRequestExecutor.java b/pay-java-fuiou/src/main/java/in/egan/pay/fuiou/utils/SimplePostRequestExecutor.java
new file mode 100644
index 0000000..902025d
--- /dev/null
+++ b/pay-java-fuiou/src/main/java/in/egan/pay/fuiou/utils/SimplePostRequestExecutor.java
@@ -0,0 +1,76 @@
+package in.egan.pay.fuiou.utils;
+
+import com.alibaba.fastjson.JSONObject;
+import in.egan.pay.common.api.RequestExecutor;
+import in.egan.pay.common.bean.result.PayError;
+import in.egan.pay.common.exception.PayErrorException;
+import in.egan.pay.common.util.XML;
+import in.egan.pay.common.util.http.Utf8ResponseHandler;
+import org.apache.http.Consts;
+import org.apache.http.HttpHost;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.message.BasicNameValuePair;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author egan
+ * @email egzosn@gmail.com
+ * @date 2016-5-18 14:09:01
+ */
+public class SimplePostRequestExecutor implements RequestExecutor {
+
+ @Override
+ public String execute(CloseableHttpClient httpclient, HttpHost httpProxy, String uri, Object postEntity) throws PayErrorException, ClientProtocolException, IOException {
+ HttpPost httpPost = new HttpPost(uri);
+// httpPost.setHeader("Content-Type","application/x-www-from-urlencoded");
+ if (httpProxy != null) {
+ RequestConfig config = RequestConfig.custom().setProxy(httpProxy).build();
+ httpPost.setConfig(config);
+ }
+ if (postEntity instanceof Map) {
+ StringBuilder builder = new StringBuilder();
+ Map pe = (Map) postEntity;
+ for (Object key : pe.keySet()) {
+ builder.append(key).append("=").append(pe.get(key)).append("&");
+ }
+ if (builder.length() > 1) {
+ builder.deleteCharAt(builder.length() - 1);
+ }
+ StringEntity entity = new StringEntity(builder.toString(), Consts.UTF_8);
+// entity.setContentType("application/x-www-from-urlencoded");
+ httpPost.setEntity(entity);
+ } else if (postEntity instanceof String) {
+
+ StringEntity entity = new StringEntity((String) postEntity, Consts.UTF_8);
+ httpPost.setEntity(entity);
+ }else if(postEntity instanceof List){
+ //表单方式
+ httpPost.setEntity(new UrlEncodedFormEntity((List)postEntity, Consts.UTF_8));
+ }
+
+ try (CloseableHttpResponse response = httpclient.execute(httpPost)) {
+ String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
+ System.out.println("直接返回的查询结果-->"+responseContent);
+// responseContent = responseContent.replace("","").replace("","").replace("","").replace("","");
+ JSONObject jsonObject = XML.toJSONObject(responseContent);//包含md5
+ JSONObject plain = XML.toJSONObject(""+jsonObject.getString("plain")+"");//"plain" -> "5002验证签名失败"
+
+ if("0000".equals(plain.getString("order_pay_code"))){
+ return "0000";
+ }else{
+ throw new PayErrorException(new PayError(404,plain.getString("order_pay_error"),responseContent));
+ }
+ }finally {
+ httpPost.releaseConnection();
+ }
+ }
+}
\ No newline at end of file
From da0706232b41c6af048b6bbc081c031e84b4c396 Mon Sep 17 00:00:00 2001
From: Fuzx <412605202@qq.com>
Date: Mon, 20 Feb 2017 11:00:44 +0800
Subject: [PATCH 2/2] =?UTF-8?q?#=E5=A2=9E=E5=8A=A0#=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E5=BC=80=E5=8F=91=E6=96=87=E6=A1=A3,=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E6=B3=A8=E9=87=8A=20=E5=8E=BB=E9=99=A4=E4=B8=80=E4=BA=9B?=
=?UTF-8?q?=E6=97=A0=E7=94=A8=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...Fuiou Cross-border Payment Gateway API.doc | Bin 0 -> 391168 bytes
.../富友支付网关商户端开发文档 -跨境支付.doc | Bin 0 -> 264192 bytes
.../document/富友支付网关商户端开发文档.doc | Bin 0 -> 279040 bytes
.../富友支付网关商户端示例程序.zip | Bin 0 -> 5670979 bytes
...电商网关商户端开发文档(带海关数据报送).doc | Bin 0 -> 307712 bytes
.../java/PayCustomsGate_test.war | Bin 0 -> 1765305 bytes
.../document/银行及富友LOGO/0000000000.gif | Bin 0 -> 1851 bytes
.../document/银行及富友LOGO/0801000000.gif | Bin 0 -> 2518 bytes
.../document/银行及富友LOGO/0801020000.gif | Bin 0 -> 2015 bytes
.../document/银行及富友LOGO/0801030000.gif | Bin 0 -> 2060 bytes
.../document/银行及富友LOGO/0801040000.gif | Bin 0 -> 1407 bytes
.../document/银行及富友LOGO/0801050000.gif | Bin 0 -> 1668 bytes
.../document/银行及富友LOGO/0803010000.gif | Bin 0 -> 2026 bytes
.../document/银行及富友LOGO/0803020000.gif | Bin 0 -> 1954 bytes
.../document/银行及富友LOGO/0803030000.gif | Bin 0 -> 1526 bytes
.../document/银行及富友LOGO/080303000C.gif | Bin 0 -> 3901 bytes
.../document/银行及富友LOGO/0803040000.gif | Bin 0 -> 2034 bytes
.../document/银行及富友LOGO/0803050000.gif | Bin 0 -> 1920 bytes
.../document/银行及富友LOGO/0803060000.gif | Bin 0 -> 2329 bytes
.../document/银行及富友LOGO/0803070000.gif | Bin 0 -> 1262 bytes
.../document/银行及富友LOGO/0803080000.gif | Bin 0 -> 1045 bytes
.../document/银行及富友LOGO/0803090000.gif | Bin 0 -> 1697 bytes
.../document/银行及富友LOGO/0803100000.gif | Bin 0 -> 1915 bytes
.../document/银行及富友LOGO/0803114560.gif | Bin 0 -> 2704 bytes
.../document/银行及富友LOGO/0803160000.gif | Bin 0 -> 2501 bytes
.../document/银行及富友LOGO/0803170000.gif | Bin 0 -> 2613 bytes
.../document/银行及富友LOGO/0804031000.gif | Bin 0 -> 1970 bytes
.../document/银行及富友LOGO/0804243010.gif | Bin 0 -> 1769 bytes
.../document/银行及富友LOGO/0804400000.gif | Bin 0 -> 2313 bytes
.../document/银行及富友LOGO/0804403600.gif | Bin 0 -> 2313 bytes
.../document/银行及富友LOGO/0804437010.gif | Bin 0 -> 2512 bytes
.../document/银行及富友LOGO/富友支付.png | Bin 0 -> 10518 bytes
.../egan/pay/fuiou/api/FuiouPayService.java | 71 +++++++++---------
.../in/egan/pay/fuiou/bean/FuiouCurType.java | 1 +
.../utils/SimplePostRequestExecutor.java | 2 +-
35 files changed, 37 insertions(+), 37 deletions(-)
create mode 100644 pay-java-fuiou/document/Fuiou Cross-border Payment Gateway API.doc
create mode 100644 pay-java-fuiou/document/富友支付网关商户端开发文档 -跨境支付.doc
create mode 100644 pay-java-fuiou/document/富友支付网关商户端开发文档.doc
create mode 100644 pay-java-fuiou/document/富友支付网关商户端示例程序/富友支付网关商户端示例程序.zip
create mode 100644 pay-java-fuiou/document/富友跨境电商网关商户端开发文档(带海关数据报送).doc
create mode 100644 pay-java-fuiou/document/富友跨境电商网关商户端示例程序/java/PayCustomsGate_test.war
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0000000000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0801000000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0801020000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0801030000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0801040000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0801050000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803010000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803020000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803030000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/080303000C.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803040000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803050000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803060000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803070000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803080000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803090000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803100000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803114560.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803160000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0803170000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0804031000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0804243010.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0804400000.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0804403600.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/0804437010.gif
create mode 100644 pay-java-fuiou/document/银行及富友LOGO/富友支付.png
diff --git a/pay-java-fuiou/document/Fuiou Cross-border Payment Gateway API.doc b/pay-java-fuiou/document/Fuiou Cross-border Payment Gateway API.doc
new file mode 100644
index 0000000000000000000000000000000000000000..f034a076faa28fefb239b7c5c2a108b480e938b0
GIT binary patch
literal 391168
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