支付宝单笔转账demo (改配置直接用)
支付宝接口说明文档 https://docs.open.alipay.com/api_28/alipay.fund.trans.toaccount.transfer
需要注意的是:rsa的 公钥和私钥 是不要空格,换行 和 开始和前后的那个 -----BEGIN PUBLIC KEY----- -----END PUBLIC KEY----- 的,就是一行字符串 ,还有就是一定搞对了 对应的值。我在做的时候公钥错了, 把报错提示全部打开,然后根据它抛出的错误一点点打印,很快能帮助你找出原因。还有就是做好加log日志。养成好习惯方便以后出问题查找问题原因。
<?php /***调试的时候打开这个,可以显示出来抛出的错误,帮助快速解决问题***/
// ini_set("display_errors","on");
// error_reporting(E_ALL); require_once dirname(dirname(dirname(__FILE__)))."/plugin/alipay_transfer/AopSdk.php";//只要引用AopSdk.php这个文件即可,sdk不用动
$c = new AopClient;
$c->gatewayUrl = "https://openapi.alipay.com/gateway.do";
$c->appId = "2017000000";//app_id 非 parter_id
$c->rsaPrivateKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';//注意这是一行去头去尾的支付宝的rsa私钥
$c->format = "json";
$c->charset= "utf-8";
$c->signType= "RSA";
$c->alipayrsaPublicKey ='xxxxxxxxxxxxxxxxxxxxxxxxxx';//注意这是一行去头去尾的支付宝公钥 $request = new AlipayFundTransToaccountTransferRequest();
$arr['out_biz_no'] = "xxxxx"//商户转账唯一订单号
$arr['payee_type'] = "ALIPAY_LOGONID";//支付宝登录号,支持邮箱和手机号格式。
$arr['payee_account'] = "xxxxx@qq.com";//收款方账户。
$arr['amount'] = number_format("10",2);// 转账金额,单位:元。 只支持2位小数,
$arr['payer_show_name'] = "xxx公司";// 转账记录里显示的名字
$arr['payee_real_name'] = "张三";//支付宝用户姓名,
$arr['remark'] = "备注";// 备注, $request->setBizContent(json_encode($arr));
// echo "<pre>";
$response= $c->execute($request);
// print_r($response->response);//调试过程有问题可以打印这个看看,根据抛出的错误位置一点点往上打印,基本能查出问题所在
$resultCode = $response->alipay_fund_trans_toaccount_transfer_response->code; $log['resultCode'] = $response->alipay_fund_trans_toaccount_transfer_response->code;
$log['msg'] = $response->alipay_fund_trans_toaccount_transfer_response->msg;
$log['sub_msg'] = $response->alipay_fund_trans_toaccount_transfer_response->sub_msg;
$log['out_biz_no'] = $response->alipay_fund_trans_toaccount_transfer_response->out_biz_no;
$log['order_id'] = $response->alipay_fund_trans_toaccount_transfer_response->order_id;
$log['pay_date'] = $response->alipay_fund_trans_toaccount_transfer_response->pay_date;
$log['sign'] = $response->sign; file_put_contents("/data/log/ali_transfer.log",json_encode($log)."\r\n",FILE_APPEND);//建议做日志,方便后期查找问题 if(!empty($resultCode)&&$resultCode == 10000){
echo "成功";
} else {
$sub_msg = $response->alipay_fund_trans_toaccount_transfer_response->sub_msg;
echo $sub_msg; //失败说明
}
支付宝单笔转账demo (改配置直接用)的更多相关文章
- Python支付宝单笔转账接口
开发信息 接口加签方式为证书模式 证书模式好处是可以使用支付宝的转账到支付宝账户,也就是提现功能,公钥模式不能实现转账到支付宝账户. 此DEMO利用单笔转账到支付宝账户接口[提现功能]用户可以通过此D ...
- Java 支付宝支付,退款,单笔转账到支付宝账户(支付宝订单退款)
上一篇写到支付宝的支付,这代码copy下来就能直接用了, 我写学习文档时会经常贴 官方参数文档的案例地址, 因为我觉得 请求参数,响应参数说明 官方文档整理的很好,毕竟官方不会误导大家. 我学一个 ...
- APP开通支付宝支付 转账功能
注意:支付宝单笔转账到账户功能的准入条件 首先要在商家中心注册,从商家中心可以跳转到开放平台. 登陆蚂蚁金服开放平台 1 开发中心->网页&移动应用 2 根据需求选择应用类型创建应用 3 ...
- 如何使用沙箱测试单笔转账到支付宝账号(php版) https://openclub.alipay.com/read.php?tid=1770&fid=28
说明: 本帖是利用支付宝沙箱测试电脑网站支付接口 测试环境:Apache2.4.23 +php 5.6.25 沙箱环境测试正式环境请修改网关为下方值 复制代码 1 正式环境网关:htt ...
- 支付宝即时到账DEMO配置与使用
支付宝网页即时到账功能,可让用户在线向开发者的支付宝账号支付资金,交易资金即时到账,帮助开发者快速回笼资金. 当用户进行支付操作时候可以直接跳转到支付宝支付页面进行支付 1. 准备 关于支付宝签约即时 ...
- Java 支付宝支付,退款,单笔转账到支付宝账户(单笔转账到支付宝账户)
上次分享了支付宝订单退款的代码,今天分享一下支付宝转账的操作. 现在是有一个余额提现的功能,本来是打算做提现到银行卡的,但是客户嫌麻烦不想注册银联的开放平台账户,就说先提现到支付宝就行,二期再做银行 ...
- 微信APP支付,支付宝APP支付demo
最近公司新开发的APP中,需要集成微信支付和支付宝支付,2个平台申请的都是APP支付.这是个人第一次单独的,完整的做完2个平台的支付. 这里我主要用到了2个接口:支付接口,订单查询接口,虽然2个平台的 ...
- Java 支付宝支付,退款,单笔转账到支付宝账户(支付宝支付)
最近一直在接触第三方,刚接入完支付宝的API做一下总结,个人能力薄弱有不对的地方望指教. 做的是一个小型电商项目,所以会接入第三方的支付和登入功能, 第一次接入第三方撸了很多官方文档. 进入主题, ...
- .NET+MVC+Alipay的Sdk版单笔转账到支付宝账户接口
public class AliPayController : Controller { // GET: AliPay public ActionResult Index() { return Red ...
随机推荐
- hadoop 环境下不知道yarn端口可以通过此命令查找
yarn jar hadoop-examples-2.6.0-mr1-cdh5.10.0.jar pi 1 30 hadoop-examples-2.6.0-mr1-cdh5.10.0.jar 此JA ...
- react+redux+react-redux练习项目
一,项目目录 二.1.新建pages包,在pages中新建TodoList.js: 2.新建store包,在store包中新建store.js,reducer.js,actionCreater.js, ...
- linux 服务 启动 关闭 列表
##查看服务在每个级别的运行状态 chkconfig --list httpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:启用 6:关闭 bluetooth ...
- 设置IDEA中properties文件显示中文
路径: File - Setting - Editor - Code Style - File Encodings
- leetcode-213-打家劫舍二
题目描述: 方法一: class Solution(object): def rob(self, nums): """ :type nums: List[int] :rt ...
- 廖雪峰Java11多线程编程-2线程同步-2synchronized方法
1.Java使用synchronized对一个方法进行加锁 class Counter{ int count = 0; public synchronized void add(int n){ cou ...
- 等差数列+随机数——cf1114E
先确定上界 然后用查询随机位置的数,求gcd作为公差即可 /* 给定一个size为n的打乱的等差数列 两个询问 ? i 询问第i个数的值 > x 询问大于的值是否存在 可以在30次内问出最大值 ...
- 安装Ubuntu16.04卡在logo界面
问题背景 笔者在使用U盘UEFI模式安装Ubuntu16.04时,遇到一个问题,即在BIOS里的boot设置U盘为第一启动项之后,启动,并没有顺利进入系统,而是卡在了logo界面.(PS:其实我等了它 ...
- ConcurrentHashMap线程安全的具体实现方式/底层具体实现
1. jdk1.7以及之前 ConcurrentHashMap 是由 Segment 数组结构和 HashEntry 数组结构组成. 通俗的话讲:就是首先将数据分为一段一段的存储,然后给每一段数据配一 ...
- 深入浅出 Java Concurrency (29): 线程池 part 2 Executor 以及Executors[转]
Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具.真正的线程池接口是ExecutorService. 下面这张图完整描述了线程 ...