|
@@ -17,7 +17,7 @@ import java.util.Map;
|
|
|
import java.util.TreeMap;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.paytm.pg.merchant.CheckSumServiceHelper;
|
|
|
+//import com.paytm.pg.merchant.CheckSumServiceHelper;
|
|
|
import com.shawn.model.entity.*;
|
|
|
import com.shawn.service.interfac.TAdminServiceInterface;
|
|
|
import com.shawn.util.JoinpayConstant;
|
|
@@ -64,145 +64,146 @@ public class TWeixinController extends BaseController<TWeixin,TWeixinExample,TWe
|
|
|
* @param
|
|
|
* @return
|
|
|
*/
|
|
|
- @GetMapping("/paytmpay")
|
|
|
- public ResponseEntity<?> paytmpay(String orderId,String type ) {
|
|
|
- /* initialize an object */
|
|
|
- JSONObject paytmParams = new JSONObject();
|
|
|
-
|
|
|
- /* body parameters */
|
|
|
- JSONObject body = new JSONObject();
|
|
|
- if(type.equals("SMS")){
|
|
|
- body.put("sendSms", true);
|
|
|
- }else{
|
|
|
- body.put("sendEmail", true);
|
|
|
- }
|
|
|
- Double amount = 0.10;
|
|
|
- body.put("amount", amount);
|
|
|
- /* Find your MID in your Paytm Dashboard at https://dashboard.paytm.com/next/apikeys */
|
|
|
- JSONObject customerContact = new JSONObject();
|
|
|
- customerContact.put("customerEmail", "520283710@qq.com");
|
|
|
- customerContact.put("customerMobile", "9910215225");
|
|
|
- body.put("customerContact", customerContact);
|
|
|
- body.put("statusCallbackUrl", "https://app.sunzee.com.cn/ShenzeeServer/TWeixin/paytmNotify");
|
|
|
- body.put("mid", "WorldP64425807474247");
|
|
|
-
|
|
|
- /* Possible value are "GENERIC", "FIXED", "INVOICE" */
|
|
|
- body.put("linkType", "LINK_TYPE");
|
|
|
-
|
|
|
- /* Enter your choice of payment link description here, special characters are not allowed */
|
|
|
- body.put("linkDescription", "PAYMENT LINK DESCRIPTION");
|
|
|
-
|
|
|
- /* Enter your choice of payment link name here, special characters and spaces are not allowed */
|
|
|
- body.put("linkName", "PAYMENTLINKNAME");
|
|
|
- String result = "";
|
|
|
-/**
|
|
|
- * Generate checksum by parameters we have in body
|
|
|
- * You can get Checksum JAR from https://developer.paytm.com/docs/v1/payment-gateway/#code
|
|
|
- * Find your Merchant Key in your Paytm Dashboard at https://dashboard.paytm.com/next/apikeys
|
|
|
- */
|
|
|
- String checksum2="";
|
|
|
- try { String checksum = CheckSumServiceHelper.getCheckSumServiceHelper().genrateCheckSum("kbzk1DSbJiV_O3p5", body.toString());
|
|
|
- checksum2 = checksum;
|
|
|
- /* head parameters */
|
|
|
- JSONObject head = new JSONObject();
|
|
|
- Long startTs = System.currentTimeMillis(); // 当前时间戳
|
|
|
- /* This will be AES */
|
|
|
- Long yiu=new Long(9000l);
|
|
|
- Long cd=new Long(startTs);
|
|
|
- Long d=cd-yiu;
|
|
|
-// Long time = startTs-yiu;
|
|
|
- head.put("timestamp", d);
|
|
|
- head.put("tokenType", "AES");
|
|
|
-
|
|
|
- /* put generated checksum value here */
|
|
|
- head.put("signature", checksum);
|
|
|
-
|
|
|
- /* prepare JSON string for request */
|
|
|
- paytmParams.put("body", body);
|
|
|
- paytmParams.put("head", head);
|
|
|
- String post_data = paytmParams.toString();
|
|
|
-
|
|
|
- /* for Staging */
|
|
|
- URL url = new URL("https://securegw-stage.paytm.in/link/create");
|
|
|
-
|
|
|
- /* for Production */
|
|
|
-// URL url = new URL("https://securegw.paytm.in/link/create);
|
|
|
-// TWeixin weixin = new TWeixin();
|
|
|
-// weixin.setAdminId("1");
|
|
|
-// weixin.setAvatarUrl(paytmParams.toString().substring(0,200));
|
|
|
-// weixin.setCreateDate(new Date());
|
|
|
-// weixin.setModifyDate(new Date());
|
|
|
-// weixin.setNickName(checksum);
|
|
|
-// tWeixinService.insert(weixin);
|
|
|
-
|
|
|
- HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
|
|
- connection.setRequestMethod("POST");
|
|
|
- connection.setRequestProperty("Content-Type", "application/json");
|
|
|
- connection.setDoOutput(true);
|
|
|
-
|
|
|
- DataOutputStream requestWriter = new DataOutputStream(connection.getOutputStream());
|
|
|
- requestWriter.writeBytes(post_data);
|
|
|
- requestWriter.close();
|
|
|
- String responseData = "";
|
|
|
- InputStream is = connection.getInputStream();
|
|
|
- BufferedReader responseReader = new BufferedReader(new InputStreamReader(is));
|
|
|
- if ((responseData = responseReader.readLine()) != null) {
|
|
|
- result=responseData;
|
|
|
- System.out.append("Response: " + responseData);
|
|
|
- }
|
|
|
- // System.out.append("Request: " + post_data);
|
|
|
- responseReader.close();
|
|
|
- } catch (Exception exception) {
|
|
|
- exception.printStackTrace();
|
|
|
- }
|
|
|
- return ResponseEntity.status(HttpStatus.OK)
|
|
|
- .body(new ResultMessage().setCode(true).setData(result).setMessage(checksum2));
|
|
|
- }
|
|
|
+// @GetMapping("/paytmpay")
|
|
|
+// public ResponseEntity<?> paytmpay(String orderId,String type ) {
|
|
|
+// /* initialize an object */
|
|
|
+// JSONObject paytmParams = new JSONObject();
|
|
|
+//
|
|
|
+// /* body parameters */
|
|
|
+// JSONObject body = new JSONObject();
|
|
|
+// if(type.equals("SMS")){
|
|
|
+// body.put("sendSms", true);
|
|
|
+// }else{
|
|
|
+// body.put("sendEmail", true);
|
|
|
+// }
|
|
|
+// Double amount = 0.10;
|
|
|
+// body.put("amount", amount);
|
|
|
+// /* Find your MID in your Paytm Dashboard at https://dashboard.paytm.com/next/apikeys */
|
|
|
+// JSONObject customerContact = new JSONObject();
|
|
|
+// customerContact.put("customerEmail", "520283710@qq.com");
|
|
|
+// customerContact.put("customerMobile", "9910215225");
|
|
|
+// body.put("customerContact", customerContact);
|
|
|
+// body.put("statusCallbackUrl", "https://app.sunzee.com.cn/ShenzeeServer/TWeixin/paytmNotify");
|
|
|
+// body.put("mid", "WorldP64425807474247");
|
|
|
+//
|
|
|
+// /* Possible value are "GENERIC", "FIXED", "INVOICE" */
|
|
|
+// body.put("linkType", "LINK_TYPE");
|
|
|
+//
|
|
|
+// /* Enter your choice of payment link description here, special characters are not allowed */
|
|
|
+// body.put("linkDescription", "PAYMENT LINK DESCRIPTION");
|
|
|
+//
|
|
|
+// /* Enter your choice of payment link name here, special characters and spaces are not allowed */
|
|
|
+// body.put("linkName", "PAYMENTLINKNAME");
|
|
|
+// String result = "";
|
|
|
+///**
|
|
|
+// * Generate checksum by parameters we have in body
|
|
|
+// * You can get Checksum JAR from https://developer.paytm.com/docs/v1/payment-gateway/#code
|
|
|
+// * Find your Merchant Key in your Paytm Dashboard at https://dashboard.paytm.com/next/apikeys
|
|
|
+// */
|
|
|
+// String checksum2="";
|
|
|
+// try { String checksum = CheckSumServiceHelper.getCheckSumServiceHelper().genrateCheckSum("kbzk1DSbJiV_O3p5", body.toString());
|
|
|
+//
|
|
|
+// /* head parameters */
|
|
|
+// JSONObject head = new JSONObject();
|
|
|
+// Long startTs = System.currentTimeMillis(); // 当前时间戳
|
|
|
+// /* This will be AES */
|
|
|
+// Long yiu=new Long(9000l);
|
|
|
+// Long cd=new Long(startTs);
|
|
|
+// Long d=cd-yiu;
|
|
|
+//// Long time = startTs-yiu;
|
|
|
+// head.put("timestamp", d);
|
|
|
+// head.put("tokenType", "AES");
|
|
|
+//
|
|
|
+// /* put generated checksum value here */
|
|
|
+// head.put("signature", checksum);
|
|
|
+//
|
|
|
+// /* prepare JSON string for request */
|
|
|
+// paytmParams.put("body", body);
|
|
|
+// paytmParams.put("head", head);
|
|
|
+// String post_data = paytmParams.toString();
|
|
|
+//
|
|
|
+// /* for Staging */
|
|
|
+// URL url = new URL("https://securegw-stage.paytm.in/link/create");
|
|
|
+//
|
|
|
+// /* for Production */
|
|
|
+//// URL url = new URL("https://securegw.paytm.in/link/create);
|
|
|
+//// TWeixin weixin = new TWeixin();
|
|
|
+//// weixin.setAdminId("1");
|
|
|
+//// weixin.setAvatarUrl(paytmParams.toString().substring(0,200));
|
|
|
+//// weixin.setCreateDate(new Date());
|
|
|
+//// weixin.setModifyDate(new Date());
|
|
|
+//// weixin.setNickName(checksum);
|
|
|
+//// tWeixinService.insert(weixin);
|
|
|
+//
|
|
|
+// HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
|
|
+// connection.setRequestMethod("POST");
|
|
|
+// connection.setRequestProperty("Content-Type", "application/json");
|
|
|
+// connection.setDoOutput(true);
|
|
|
+//
|
|
|
+// DataOutputStream requestWriter = new DataOutputStream(connection.getOutputStream());
|
|
|
+// requestWriter.writeBytes(post_data);
|
|
|
+// requestWriter.close();
|
|
|
+// String responseData = "";
|
|
|
+// InputStream is = connection.getInputStream();
|
|
|
+// BufferedReader responseReader = new BufferedReader(new InputStreamReader(is));
|
|
|
+// checksum2 = checksum;
|
|
|
+// if ((responseData = responseReader.readLine()) != null) {
|
|
|
+// result=responseData;
|
|
|
+// System.out.append("Response: " + responseData);
|
|
|
+// }
|
|
|
+// // System.out.append("Request: " + post_data);
|
|
|
+// responseReader.close();
|
|
|
+// } catch (Exception exception) {
|
|
|
+// exception.printStackTrace();
|
|
|
+// }
|
|
|
+// return ResponseEntity.status(HttpStatus.OK)
|
|
|
+// .body(new ResultMessage().setCode(true).setData(result.substring(0,240)).setMessage(checksum2));
|
|
|
+// }
|
|
|
/**
|
|
|
* 支付成功回调
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
- @RequestMapping(value = "/paytmNotify", method = RequestMethod.GET)
|
|
|
- @ResponseBody
|
|
|
- public Object refund(HttpServletRequest request) {
|
|
|
-
|
|
|
-// String r6_Status = request.getParameter("r6_Status");
|
|
|
- try {String paytmChecksum = null;
|
|
|
-
|
|
|
- /* Create a TreeMap from the parameters received in POST */
|
|
|
- TreeMap<String, String> paytmParams = new TreeMap<String, String>();
|
|
|
- for (Map.Entry<String, String[]> requestParamsEntry : request.getParameterMap().entrySet()) {
|
|
|
- if ("CHECKSUMHASH".equalsIgnoreCase(requestParamsEntry.getKey())){
|
|
|
- paytmChecksum = requestParamsEntry.getValue()[0];
|
|
|
- } else {
|
|
|
- paytmParams.put(requestParamsEntry.getKey(), requestParamsEntry.getValue()[0]);
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- TWeixin weixin = new TWeixin();
|
|
|
- weixin.setAdminId("1");
|
|
|
- weixin.setAvatarUrl(paytmParams.toString().substring(0,240));
|
|
|
- weixin.setCreateDate(new Date());
|
|
|
- weixin.setModifyDate(new Date());
|
|
|
- weixin.setNickName(paytmChecksum);
|
|
|
- tWeixinService.insert(weixin);
|
|
|
-/**
|
|
|
- * Verify checksum
|
|
|
- * Find your Merchant Key in your Paytm Dashboard at https://dashboard.paytm.com/next/apikeys
|
|
|
- */
|
|
|
- boolean isValidChecksum = CheckSumServiceHelper.getCheckSumServiceHelper().verifycheckSum("kbzk1DSbJiV_O3p5", paytmParams, paytmChecksum);
|
|
|
- if (isValidChecksum) {
|
|
|
- System.out.append("Checksum Matched");
|
|
|
- } else {
|
|
|
- System.out.append("Checksum Mismatched");
|
|
|
- }
|
|
|
- } catch (Exception exception) {
|
|
|
- exception.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
- return "success";
|
|
|
- }
|
|
|
+// @RequestMapping(value = "/paytmNotify", method = RequestMethod.GET)
|
|
|
+// @ResponseBody
|
|
|
+// public Object refund(HttpServletRequest request) {
|
|
|
+//
|
|
|
+//// String r6_Status = request.getParameter("r6_Status");
|
|
|
+// try {String paytmChecksum = null;
|
|
|
+//
|
|
|
+// /* Create a TreeMap from the parameters received in POST */
|
|
|
+// TreeMap<String, String> paytmParams = new TreeMap<String, String>();
|
|
|
+// for (Map.Entry<String, String[]> requestParamsEntry : request.getParameterMap().entrySet()) {
|
|
|
+// if ("CHECKSUMHASH".equalsIgnoreCase(requestParamsEntry.getKey())){
|
|
|
+// paytmChecksum = requestParamsEntry.getValue()[0];
|
|
|
+// } else {
|
|
|
+// paytmParams.put(requestParamsEntry.getKey(), requestParamsEntry.getValue()[0]);
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+// TWeixin weixin = new TWeixin();
|
|
|
+// weixin.setAdminId("1");
|
|
|
+// weixin.setAvatarUrl(paytmParams.toString().substring(0,240));
|
|
|
+// weixin.setCreateDate(new Date());
|
|
|
+// weixin.setModifyDate(new Date());
|
|
|
+// weixin.setNickName(paytmChecksum);
|
|
|
+// tWeixinService.insert(weixin);
|
|
|
+///**
|
|
|
+// * Verify checksum
|
|
|
+// * Find your Merchant Key in your Paytm Dashboard at https://dashboard.paytm.com/next/apikeys
|
|
|
+// */
|
|
|
+// boolean isValidChecksum = CheckSumServiceHelper.getCheckSumServiceHelper().verifycheckSum("kbzk1DSbJiV_O3p5", paytmParams, paytmChecksum);
|
|
|
+// if (isValidChecksum) {
|
|
|
+// System.out.append("Checksum Matched");
|
|
|
+// } else {
|
|
|
+// System.out.append("Checksum Mismatched");
|
|
|
+// }
|
|
|
+// } catch (Exception exception) {
|
|
|
+// exception.printStackTrace();
|
|
|
+// }
|
|
|
+//
|
|
|
+// return "success";
|
|
|
+// }
|
|
|
|
|
|
/**
|
|
|
* 微信登录
|