V2PcreditFeeConfigRequestDemo.cs 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. using System;
  2. using System.Collections.Generic;
  3. using BasePaySdk;
  4. using BasePaySdk.Request;
  5. using Newtonsoft.Json;
  6. using Newtonsoft.Json.Linq;
  7. namespace BasePayDemo
  8. {
  9. /**
  10. * 商户分期配置 - 示例
  11. *
  12. * @author sdk-generator
  13. * @Description
  14. */
  15. public class V2PcreditFeeConfigRequestDemo
  16. {
  17. public static void V2PcreditFeeConfigRequestDemoTest()
  18. {
  19. // 1. 数据初始化
  20. InitMerConfig.init();
  21. // 2.组装请求参数
  22. V2PcreditFeeConfigRequest request = new V2PcreditFeeConfigRequest();
  23. // 请求日期
  24. request.setReqDate(DateTime.Now.ToString("yyyyMMdd"));
  25. // 请求流水号
  26. request.setReqSeqId(DateTime.Now.ToString("yyy-MM-dd HH.mm.ss.fff"));
  27. // 设置非必填字段
  28. Dictionary<string, object> extendInfoMap = getExtendInfos();
  29. request.setExtendInfo(extendInfoMap);
  30. try {
  31. // 3. 发起API调用
  32. // 调用接口,使用默认商户配置时可省略配置key
  33. Dictionary<string, Object> result = null;
  34. result = BasePayClient.postRequest(request,null);
  35. // 使用指定配置调用接口
  36. // result = BasePayClient.postRequest(request,null,"merchantKey2");
  37. Console.WriteLine(JsonConvert.SerializeObject(result));
  38. }
  39. catch (Exception ex) {
  40. Console.WriteLine(ex);
  41. }
  42. }
  43. /**
  44. * 非必填字段
  45. * @return
  46. */
  47. private static Dictionary<string, object> getExtendInfos() {
  48. // 设置非必填字段
  49. Dictionary<string, object> extendInfoMap = new Dictionary<string, object>();
  50. // 异步通知地址
  51. extendInfoMap.Add("async_return_url", "http://192.168.85.157:30031/sspm/testVirgo");
  52. // 银行分期费率
  53. extendInfoMap.Add("bank_fq_list", getBankFqList());
  54. // 花呗分期费率
  55. extendInfoMap.Add("hb_fq_fee_list", getHbFqFeeList());
  56. // 白条分期配置对象
  57. // extendInfoMap.Add("jdbt_data", getJdbtData());
  58. return extendInfoMap;
  59. }
  60. private static object getBankFqFeeList() {
  61. Dictionary<string, object> obj = new Dictionary<string, object>();
  62. // 银行编号
  63. obj.Add("bank_code", "01040000");
  64. // 银行名称
  65. obj.Add("bank_name", "");
  66. // 银联收单分期费率(%)
  67. obj.Add("bank_acq_period", "6");
  68. // 用户付息费率
  69. obj.Add("bank_fee_rate", "2");
  70. // 交易手续费外扣标记
  71. obj.Add("out_fee_flag", "");
  72. // 手续费外扣的汇付商户号
  73. obj.Add("out_fee_huifu_id", "");
  74. // 银联分期3期开关
  75. obj.Add("three_period_switch", "Y");
  76. // 银联分期3期总费率(%)
  77. obj.Add("three_period", "10");
  78. // 银联分期6期开关
  79. obj.Add("six_period_switch", "Y");
  80. // 银联分期6期总费率(%)
  81. obj.Add("six_period", "16");
  82. // 银联分期12期开关
  83. obj.Add("twelve_period_switch", "Y");
  84. // 银联分期12期总费率(%)
  85. obj.Add("twelve_period", "0.0001");
  86. JArray objList = new JArray();
  87. objList.Add(JToken.FromObject(obj));
  88. return objList;
  89. }
  90. private static string getBankFqList() {
  91. Dictionary<string, object> obj = new Dictionary<string, object>();
  92. // 银联入网模式
  93. obj.Add("ent_way", "1");
  94. // 商户汇付Id
  95. obj.Add("huifu_id", "6666000003156435");
  96. // 银行卡分期状态
  97. obj.Add("bank_card_fq_status", "1");
  98. // 银行卡分期费率
  99. obj.Add("bank_fq_fee_list", getBankFqFeeList());
  100. // 贴息模式
  101. obj.Add("fee_model", "1");
  102. JArray objList = new JArray();
  103. objList.Add(JToken.FromObject(obj));
  104. return JsonConvert.SerializeObject(objList);
  105. }
  106. private static string getHbFqFeeList() {
  107. Dictionary<string, object> obj = new Dictionary<string, object>();
  108. // 商户汇付Id
  109. obj.Add("huifu_id", "6666000003156435");
  110. // 花呗分期状态
  111. // obj.Add("hb_fq_status", "");
  112. // 花呗分期3期开关
  113. obj.Add("hb_three_period_switch", "Y");
  114. // 花呗收单分期3期费率(%)
  115. obj.Add("hb_three_acq_period", "5");
  116. // 花呗分期3期利率(%)
  117. obj.Add("hb_three_period", "10");
  118. // 花呗分期6期开关
  119. obj.Add("hb_six_period_switch", "Y");
  120. // 花呗收单分期6期费率(%)
  121. obj.Add("hb_six_acq_period", "5");
  122. // 花呗分期6期利率(%)
  123. obj.Add("hb_six_period", "10");
  124. // 花呗分期12期开关
  125. obj.Add("hb_twelve_period_switch", "Y");
  126. // 花呗收单分期12期费率(%)
  127. obj.Add("hb_twelve_acq_period", "15");
  128. // 花呗分期12期利率(%)
  129. obj.Add("hb_twelve_period", "11");
  130. // 交易手续费外扣标记
  131. obj.Add("out_fee_flag", "");
  132. // 手续费外扣的汇付商户号
  133. obj.Add("out_fee_huifu_id", "");
  134. JArray objList = new JArray();
  135. objList.Add(JToken.FromObject(obj));
  136. return JsonConvert.SerializeObject(objList);
  137. }
  138. private static string getJdbtFeeData() {
  139. Dictionary<string, object> obj = new Dictionary<string, object>();
  140. // 支付场景
  141. // obj.Add("pay_scene", "test");
  142. // 业务开通标识
  143. // obj.Add("open_flag", "test");
  144. // 手续费率(%)
  145. // obj.Add("fee_rate", "");
  146. // 手续费扣取方式
  147. // obj.Add("fee_rec_type", "");
  148. // 交易手续费扣款标记
  149. // obj.Add("fee_flag", "");
  150. // 手续费外扣的汇付商户号
  151. // obj.Add("out_fee_huifu_id", "");
  152. // 手续费外扣的汇付账户号
  153. // obj.Add("out_fee_acct_id", "");
  154. JArray objList = new JArray();
  155. objList.Add(JToken.FromObject(obj));
  156. return JsonConvert.SerializeObject(objList);
  157. }
  158. private static string getJdbtData() {
  159. Dictionary<string, object> obj = new Dictionary<string, object>();
  160. // 商户汇付Id
  161. // obj.Add("huifu_id", "test");
  162. // 签约人类型
  163. // obj.Add("sign_user_type", "test");
  164. // 签约人姓名
  165. // obj.Add("name", "test");
  166. // 签约人手机号
  167. // obj.Add("mobile_no", "test");
  168. // 签约人身份证号
  169. // obj.Add("cert_no", "test");
  170. // 京东白条费率数据
  171. // obj.Add("jdbt_fee_data", getJdbtFeeData());
  172. return JsonConvert.SerializeObject(obj);
  173. }
  174. }
  175. }