Laravel开发支付宝支付与提现转账的方法

Laravel开发支付宝支付与提现转账的方法

内容导读

收集整理的这篇技术教程文章主要介绍了Laravel开发支付宝支付与提现转账的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3456字,纯文字阅读大概需要5分钟

内容图文

这篇文章主要介绍了关于Laravel 开发支付宝支付与提现转账的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

由于项目需要,所以需要开发支付宝支付与微信支付,支付部分采用了

yansongda/pay https://packagist.org/packages/yansongda/pay https://yansongda.gitbooks.io/pay/(文档说明地址)

第三方扩展包 , 简单配置一下就可以使用,没有遇到什么问题

但是由于业务需要, 需要用到提现业务,也就是支付宝支付的

alipay.fund.trans.toaccount.transfer(单笔转账到支付宝账户接口)

找了很久也没有找到很简单的集成支付宝单笔转账接口的扩展包,所以没办法只能自己来用支付宝给的SDK进行开发

首先下载了支付宝服务端SDK PHP版 下载地址https://docs.open.alipay.com/54/103419/

然后解压添加进项目目录 appLibsAlipay Libs为自己建的目录,用来装第三方类库

之后打开composer.json文件 在autoload里面的classmap里面添加入新添加的SDK

"autoload": {



"classmap": [





"database/seeds",





"database/factories",





"app/Libs/Alipay-php-sdk"



],



"psr-4": {





"App\": "app/"



},

。。。。。。

之后再执行composer dump-autoload 这样第三方的SDK就引入成功了

然后在控制器或者自己定义的业务层中就可以直接use这个SDK了 在new 类的时候会在前面出现 属于正常

然后将给出的PHP示例粘贴进自己的业务代码中 点击查看官方请求示例https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer#s4

注意事项:

  1、粘贴到自己的业务逻辑中之后 所有new的类必须删除自己手打引入 比如: AopClient() 、 AlipayFundTransToaccountTransferRequest() 否则会爆出class not found 等错误

  2、按照说明配置所有参数之后,请求会爆出 “ 文件编码:[UTF-8] 与表单提交编码:[GBK]两者不一致!”错误,只要将复制的代码中 $aop->postCharset 值的GBK修改成为UTF-8即可

  3、支付宝SDK与Laravel都自定义了encrypt与decrypt函数,所以会产生冲突,只要将支付宝SDK中的 aopAopClient.php aopAopEncrypt.php lotusphp_runtimeCookieCokkie.php 下的这两个函数全部重新命名即可,注意所有的 包括引用函数 直接在编辑器中查找替换也可以。

然后根据自己的业务来进行修改就可以了

如果爆出 “$sign”错误,请检查自己的公钥、私钥、AppID等是否正确,如果使用沙箱测试,请将网关修改为

$aop->gatewayUrl = 'https://openapi.alipaydev.com/gateway.do';
最后贴上自己的代码,欢迎指教
/*

 *支付宝提现接口

 */

public function toTransfer($orderNo, $account, $amount, $payName, $payeeRealName, $remark)

{



$aop = new AopClient();



$aop->gatewayUrl = 'https://openapi.alipaydev.com/gateway.do';





$aop->appId = config('Alipay.AppId');



$aop->rsaPrivateKey = config('Alipay.PriKey');





$aop->alipayrsaPublicKey = config('Alipay.PubKey');



$aop->apiVersion = '1.0';





$aop->signType = 'RSA2';



$aop->postCharset = 'UTF-8';



$aop->format = 'json';





$request = new AlipayFundTransToaccountTransferRequest ();



$request->setBizContent("{" .





""out_biz_no":"$orderNo"," .





""payee_type":"ALIPAY_LOGONID"," .





""payee_account":"$account"," .





""amount":"$amount"," .





""payer_show_name":"$payName"," .





""payee_real_name":"$payeeRealName"," .





""remark":"$remark"" .





"}");



$result = $aop->execute($request);









$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";



$resultCode = $result->$responseNode->code;







if (!empty($resultCode) && $resultCode == 10000) {





echo "成功";



} else {





echo "失败";



}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

Laravel 学习的基础知识

php bug 调试助手 debug_print_backtrace()的介绍

以上就是Laravel 开发支付宝支付与提现转账的方法的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的Laravel开发支付宝支付与提现转账的方法全部内容,希望文章能够帮你解决Laravel开发支付宝支付与提现转账的方法所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com