Les étapes de mise en œuvre sont les suivantes :
(Partage de vidéos d'apprentissage : Vidéo d'enseignement Java)
1.
<dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>4.9.5.ALL</version> </dependency>
2. Paramètres de configuration
3. Méthode de mise en œuvre
@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,"支付宝转账失败!"); } }
Remarque : Cette fonction nécessite qu'Alipay être mis en œuvre en premier La fonction d'autorisation obtient l'identifiant de membre Alipay. L'identifiant de membre Alipay commence par 2088. Si vous utilisez le numéro de téléphone portable du client pour retirer de l'argent, vous devrez également saisir le vrai nom du client.
L'utilisation du numéro de téléphone portable du client pour retirer de l'argent n'a que des paramètres différents. Le code est le suivant :
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\":\"姓名\"" + " }");
Recommandations associées : Tutoriel d'introduction à Java
<.>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!