V2TradeSettlementSurrogateRequestDemo.cs 5.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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 V2TradeSettlementSurrogateRequestDemo
  16. {
  17. public static void V2TradeSettlementSurrogateRequestDemoTest()
  18. {
  19. // 1. 数据初始化
  20. InitMerConfig.init();
  21. // 2.组装请求参数
  22. V2TradeSettlementSurrogateRequest request = new V2TradeSettlementSurrogateRequest();
  23. // 请求流水号
  24. request.setReqSeqId(DateTime.Now.ToString("yyy-MM-dd HH.mm.ss.fff"));
  25. // 请求日期
  26. request.setReqDate(DateTime.Now.ToString("yyyyMMdd"));
  27. // 商户号
  28. request.setHuifuId("6666000000041651");
  29. // 代发金额
  30. request.setCashAmt("9.00");
  31. // 代发用途描述
  32. request.setPurposeDesc("v2测试用");
  33. // 省份选填,参见[代发省市地区码](https://cloudpnrcdn.oss-cn-shanghai.aliyuncs.com/opps/api/prod/download_file/area/%E6%96%97%E6%8B%B1%E4%BB%A3%E5%8F%91%E7%9C%81%E4%BB%BD%E5%9C%B0%E5%8C%BA%E7%BC%96%E7%A0%81.xlsx);<font color="green">示例值:0013</font><br/>对公代发(省份+地区)与联行号信息二选一填入;对私代发非必填;
  34. request.setProvince("0278");
  35. // 地区选填,参见[代发省市地区码](https://cloudpnrcdn.oss-cn-shanghai.aliyuncs.com/opps/api/prod/download_file/area/%E6%96%97%E6%8B%B1%E4%BB%A3%E5%8F%91%E7%9C%81%E4%BB%BD%E5%9C%B0%E5%8C%BA%E7%BC%96%E7%A0%81.xlsx);<font color="green">示例值:1301</font><br/>对公代发(省份+地区)与联行号信息二选一填入;对私代发非必填;
  36. request.setArea("2619");
  37. // 银行编号
  38. request.setBankCode("01020000");
  39. // 联行号选填,参见:[银行支行编码](https://paas.huifu.com/open/doc/api/#/csfl/api_csfl_yhzhbm) <font color="green">示例值:102290026507</font><br/>对公代发(省份+地区)与联行号信息二选一填入;对私代发非必填;
  40. request.setCorrespondentCode("correspondentCode");
  41. // 银行卡用户名
  42. request.setBankAccountName("王大锤");
  43. // 对公对私标识
  44. request.setCardAcctType("E");
  45. // 银行账号密文
  46. request.setBankCardNoCrypt("fM3G4fV8dfyA9GvSPckj7DM/0ZPgIuTrCj5chjRP2np/j+5xBkDp+hGLSskALgMijL837blhwVwfpPstkR2t+0aLtRLC1IpggVKKbNefoqcahF2a4zh+YssAulOoQ6T7DDWTjaa0qzILmLV+J/CCW6ioE+pdsBlGKee7Cc0iD6VqAjkSmnx2kWadz9CpaH8ayvyivdkc87SHsSgexQ5scyZdkGYSpXtRf/rSTcfsf5Q3NP+uKA6lJ0hnESiCw/1POoszJrSlGT2U7jpQLDWVENKcW06bReKxQuAdxFaX4DqkwbQeN5nzHvYh14IU8KrZZDAoiCx12x+IcHIVB2tBmw==");
  47. // 证件号密文
  48. request.setCertificateNoCrypt("cw8BlH40+weHiFnIonCiSak1wWeCiRWpMF1cBHhuE+vagzKT37MRvouVboLnaWwIry3joQOoVJipDTPpzAMGVrbLQTdtZoHhgyynnD3MS0NTPch2W4i9dO3/ikLylbs2HitUlCThXEX7DIrIbLLYZ7zzeYUyXAs6dKlehMNxAaF4utJpxV84tB3ZmCKKFairE6+al4Id+/c7536G0j5lKn7lWSawl8A1UEbMMmHFvydGEBgaCAmvu0WEx7llhtPl1GpJnwqieAt9u+lM0cjUGEYfw54/JnmEF3uVuHqjco/EAMKmWiqONqCT4ptBLlOiT15FUejK0iFiUrS0Y3ytMg==");
  49. // 证件类型
  50. request.setCertificateType("01");
  51. // 手机号密文
  52. request.setMobileNoCrypt("Uc2rjt3iqQMIjUubLKvrE4ynG2XoZDXl4sSqHB7xFvz6EyhS+WMm+tp7WLzG97PqdsmlfURRLjmSR3u98Zz0HV7wO4zvUwdOMzA1rX2Ab9Cz6eKHBWwkRpEn8zmq3KdsHpifKd5y6/MuEyXJ6tdKjBrmXTn3Ut6goz+yhUcPbvV4HEMCybRmF9YTvblb7Yk8trMHjOkq6J6EIEfQL3X07WTNpseCtuYF/j5tNws4boezEmOnS2hNkneMR+OfRaZ6UndFAMHd/Lj9fY2mscpPnWNACtmsD2nh0Z8ziwzCYnYAH2EV988cSq2vi3fkgCtd5b8zNGp+XJBefPaK7Vcp+w==");
  53. // 到账日期类型
  54. request.setIntoAcctDateType("T0");
  55. // 设置非必填字段
  56. Dictionary<string, object> extendInfoMap = getExtendInfos();
  57. request.setExtendInfo(extendInfoMap);
  58. try {
  59. // 3. 发起API调用
  60. // 调用接口,使用默认商户配置时可省略配置key
  61. Dictionary<string, Object> result = null;
  62. result = BasePayClient.postRequest(request,null);
  63. // 使用指定配置调用接口
  64. // result = BasePayClient.postRequest(request,null,"merchantKey2");
  65. Console.WriteLine(JsonConvert.SerializeObject(result));
  66. }
  67. catch (Exception ex) {
  68. Console.WriteLine(ex);
  69. }
  70. }
  71. /**
  72. * 非必填字段
  73. * @return
  74. */
  75. private static Dictionary<string, object> getExtendInfos() {
  76. // 设置非必填字段
  77. Dictionary<string, object> extendInfoMap = new Dictionary<string, object>();
  78. // 支行名
  79. extendInfoMap.Add("subbranch_bank_name", "subbranchBankName");
  80. // 收款方三证合一码
  81. extendInfoMap.Add("bank_acct_three_in_one", "dfa");
  82. // 异步通知地址
  83. extendInfoMap.Add("notify_url", "http://www.gangcai.com");
  84. return extendInfoMap;
  85. }
  86. }
  87. }