Heim >Java >JavaErste Schritte >Verwenden Sie Java, um die Funktion zum Abheben von Bargeld auf ein Alipay-Konto zu realisieren
Die Implementierungsschritte sind wie folgt:
(Lernvideo-Sharing: Java-Lehrvideo)
1. Abhängigkeiten importieren
<dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.9.5.ALL</version> </dependency>
2. Konfigurationsparameter
@ApiOperation(value = "企业转账到支付宝", httpMethod = "POST", produces = "application/json;charset=UTF-8") @ApiImplicitParams(value = {@ApiImplicitParam(value = "*用户token", name = "token",defaultValue ="", dataType = "String",paramType="header"), @ApiImplicitParam(value = "支付宝会员id", name = "aliuserId",defaultValue ="", dataType = "int",paramType="query",example = "0"), @ApiImplicitParam(value = "金额", name = "money",defaultValue ="", dataType = "String",paramType="query") }) @PostMapping("/alipay/transfer") public Result getMoney(HttpServletRequest servletRequest,BigDecimal money,@NotNull(message = "支付宝会员id不能为空")String aliuserId){ try { String out_biz_no = "R-" + System.currentTimeMillis() + ((long) ((Math.random() * 9 + 1) * 100000000L) + "").substring(0, 8); //构造client CertAlipayRequest certAlipayRequest = new CertAlipayRequest(); //设置网关地址https://openapi.alipay.com/gateway.do certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do"); //设置应用AppId certAlipayRequest.setAppId(appid); //设置应用私钥 certAlipayRequest.setPrivateKey(zzpri); certAlipayRequest.setFormat("json"); //设置字符集 certAlipayRequest.setCharset("UTF-8"); //设置签名类型 certAlipayRequest.setSignType("RSA2"); //设置应用公钥证书路径 certAlipayRequest.setCertPath(appcertpath); //设置支付宝公钥证书路径 certAlipayRequest.setAlipayPublicCertPath(alicertpath); //设置支付宝根证书路径 certAlipayRequest.setRootCertPath(rootcertpath); //构造Client AlipayClient alipayClient = null; try { alipayClient = new DefaultAlipayClient(certAlipayRequest); } catch (AlipayApiException e) { e.printStackTrace(); } //实例化接口 AlipayFundTransUniTransferRequest request=new AlipayFundTransUniTransferRequest(); request.setBizContent("{" + "\"out_biz_no\":\""+out_biz_no+"\"," + "\"trans_amount\":\""+money+"\"," + "\"product_code\":\"TRANS_ACCOUNT_NO_PWD\"," + "\"biz_scene\":\"DIRECT_TRANSFER\"," + "\"order_title\":\"转账\"," + "\"payee_info\":{" + "\"identity\":\""+aliuserId+"\"," + "\"identity_type\":\"ALIPAY_USER_ID\"," + " }," + "\"remark\":\"单笔转账\"" + " }"); AlipayFundTransUniTransferResponse response=null; response = alipayClient.certificateExecute(request); if (response.isSuccess()){ if("10000".equals(response.getCode())){ return Result.ok("转账成功"); } else { return Result.fail(Integer.valueOf(response.getCode()),response.getSubMsg()); } }else { return Result.fail(Integer.valueOf(response.getCode()),response.getSubMsg()); } }catch (Exception e){ e.printStackTrace(); return Result.error(901,"支付宝转账失败!"); } }Hinweis: Um diese Funktion zu implementieren, müssen Sie zunächst die Alipay-Autorisierungsfunktion implementieren, um die Alipay-Mitglieds-ID zu erhalten. Die Alipay-Mitglieds-ID beginnt mit 2088. Wenn Sie die Mobiltelefonnummer des Kunden zum Abheben von Bargeld verwenden, müssen Sie diese ebenfalls eingeben der echte Name des Kunden. Nur einige Parameter unterscheiden sich, wenn die Mobiltelefonnummer des Kunden verwendet wird. Der Code lautet wie folgt:
request.setBizContent("{" + "\"out_biz_no\":\""+out_biz_no+"\"," + "\"trans_amount\":\""+money+"\"," + "\"product_code\":\"TRANS_ACCOUNT_NO_PWD\"," + "\"biz_scene\":\"DIRECT_TRANSFER\"," + "\"order_title\":\"转账\"," + "\"payee_info\":{" + "\"identity\":\""+aliuserId+"\"," + "\"identity_type\":\"ALIPAY_USER_ID\"," + "\"name\":\"ALIPAY_USER_ID\"" + " }," + "\"remark\":\"姓名\"" + " }");Verwandte Empfehlungen:
Das obige ist der detaillierte Inhalt vonVerwenden Sie Java, um die Funktion zum Abheben von Bargeld auf ein Alipay-Konto zu realisieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!