Refund.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package com.keao.edu.thirdparty.adapay;
  2. import com.alibaba.fastjson.JSON;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. public class Refund extends ConfigInit {
  6. /**
  7. * 运行退款类接口
  8. *
  9. * @throws Exception 异常
  10. */
  11. public static void executeRefundTest(String merchantKey, String paymentId) throws Exception {
  12. Refund demo = new Refund();
  13. //退款接口
  14. Map<String, Object> refund = demo.executeRefund(merchantKey, paymentId);
  15. //退款查询接口(通过pamentId查询)
  16. demo.queryByPaymentId(merchantKey, paymentId);
  17. //退款查询接口(通过refundId查询)
  18. demo.queryByRefundId(merchantKey, (String) refund.get("id"));
  19. }
  20. /**
  21. * 执行一个退款交易
  22. *
  23. * @param paymentId 要退款的原支付paymentId
  24. * @return 创建的退款对象
  25. * @throws Exception 异常
  26. */
  27. public Map<String, Object> executeRefund(String merchantKey, String paymentId) throws Exception {
  28. System.out.println("=======execute refund begin=======");
  29. Map<String, Object> refundParams = new HashMap<String, Object>(2);
  30. refundParams.put("refund_amt", "0.01");
  31. refundParams.put("app_id", "your appid");
  32. refundParams.put("refund_order_no", "jsdk_refund_"+System.currentTimeMillis());
  33. System.out.println("退款请求参数:" + JSON.toJSONString(refundParams));
  34. Map<String, Object> refund = com.huifu.adapay.model.Refund.create(paymentId, refundParams, merchantKey);
  35. System.out.println("退款返回参数:" + JSON.toJSONString(refund));
  36. System.out.println("=======execute refund end=======");
  37. return refund;
  38. }
  39. /**
  40. * 根据原支付id查询一个退款交易
  41. *
  42. * @param paymentId 要查询退款的原支付paymentId
  43. * @return 查询的退款对象,可能含多个退款明细RefundDetail
  44. * @throws Exception 异常
  45. */
  46. public Map<String, Object> queryByPaymentId(String merchantKey, String paymentId) throws Exception {
  47. System.out.println("=======query refund by paymentId begin=======");
  48. Map<String, Object> refundParams = new HashMap<String, Object>(1);
  49. refundParams.put("payment_id", paymentId);
  50. System.out.println("通过原支付ID查询退款交易,请求参数:" + JSON.toJSONString(refundParams));
  51. Map<String, Object> refund = com.huifu.adapay.model.Refund.query(refundParams, merchantKey);
  52. System.out.println("通过原支付ID查询退款交易,返回参数:" + JSON.toJSONString(refund));
  53. System.out.println("=======query refund by paymentId end=======");
  54. return refund;
  55. }
  56. /**
  57. * 根据退款refundId查询一个退款交易
  58. *
  59. * @param refundId 要查询的退款refundId
  60. * @return 查询的退款对象
  61. * @throws Exception 异常
  62. */
  63. public Map<String, Object> queryByRefundId(String merchantKey, String refundId) throws Exception {
  64. System.out.println("=======query refund by refundid begin=======");
  65. Map<String, Object> refundParams = new HashMap<String, Object>(1);
  66. refundParams.put("refund_id", refundId);
  67. System.out.println("通过refundId查询退款交易,请求参数:" + JSON.toJSONString(refundParams));
  68. Map<String, Object> refund = com.huifu.adapay.model.Refund.query(refundParams, merchantKey);
  69. System.out.println("通过refundId查询退款交易,返回参数:" + JSON.toJSONString(refund));
  70. System.out.println("=======query refund by refundid end=======");
  71. return refund;
  72. }
  73. /**
  74. * 运行退款类接口
  75. *
  76. * @throws Exception 异常
  77. */
  78. public static void executeRefundTest( String paymentId) throws Exception {
  79. Refund demo = new Refund();
  80. //退款接口
  81. Map<String, Object> refund = demo.executeRefund( paymentId);
  82. //退款查询接口(通过pamentId查询)
  83. demo.queryByPaymentId( paymentId);
  84. //退款查询接口(通过refundId查询)
  85. demo.queryByRefundId( (String) refund.get("id"));
  86. }
  87. /**
  88. * 执行一个退款交易
  89. *
  90. * @param paymentId 要退款的原支付paymentId
  91. * @return 创建的退款对象
  92. * @throws Exception 异常
  93. */
  94. public Map<String, Object> executeRefund( String paymentId) throws Exception {
  95. System.out.println("=======execute refund begin=======");
  96. Map<String, Object> refundParams = new HashMap<String, Object>(2);
  97. refundParams.put("refund_amt", "0.01");
  98. refundParams.put("app_id", "your appid");
  99. refundParams.put("refund_order_no", "jsdk_refund_"+System.currentTimeMillis());
  100. System.out.println("退款请求参数:" + JSON.toJSONString(refundParams));
  101. Map<String, Object> refund = com.huifu.adapay.model.Refund.create(paymentId, refundParams);
  102. System.out.println("退款返回参数:" + JSON.toJSONString(refund));
  103. System.out.println("=======execute refund end=======");
  104. return refund;
  105. }
  106. /**
  107. * 根据原支付id查询一个退款交易
  108. *
  109. * @param paymentId 要查询退款的原支付paymentId
  110. * @return 查询的退款对象,可能含多个退款明细RefundDetail
  111. * @throws Exception 异常
  112. */
  113. public Map<String, Object> queryByPaymentId( String paymentId) throws Exception {
  114. System.out.println("=======query refund by paymentId begin=======");
  115. Map<String, Object> refundParams = new HashMap<String, Object>(1);
  116. refundParams.put("payment_id", paymentId);
  117. System.out.println("通过原支付ID查询退款交易,请求参数:" + JSON.toJSONString(refundParams));
  118. Map<String, Object> refund = com.huifu.adapay.model.Refund.query(refundParams);
  119. System.out.println("通过原支付ID查询退款交易,返回参数:" + JSON.toJSONString(refund));
  120. System.out.println("=======query refund by paymentId end=======");
  121. return refund;
  122. }
  123. /**
  124. * 根据退款refundId查询一个退款交易
  125. *
  126. * @param refundId 要查询的退款refundId
  127. * @return 查询的退款对象
  128. * @throws Exception 异常
  129. */
  130. public Map<String, Object> queryByRefundId( String refundId) throws Exception {
  131. System.out.println("=======query refund by refundid begin=======");
  132. Map<String, Object> refundParams = new HashMap<String, Object>(1);
  133. refundParams.put("refund_id", refundId);
  134. System.out.println("通过refundId查询退款交易,请求参数:" + JSON.toJSONString(refundParams));
  135. Map<String, Object> refund = com.huifu.adapay.model.Refund.query(refundParams);
  136. System.out.println("通过refundId查询退款交易,返回参数:" + JSON.toJSONString(refund));
  137. System.out.println("=======query refund by refundid end=======");
  138. return refund;
  139. }
  140. }