一直以为想做线上支付必须要有营业执照,害得我和很多个人开发者一样,绕了很多圈子。尝试过一些第三方的接入(不稳定,担心跑路)。
原来支付宝是有个人支付接口的,利用支付宝的“当面付”接口就可实现个人版的线上支付,实时直接进入个人账户。

我需要在网站上实现一个打赏功能,首先需要在 支付宝开发者中心 申请一个网页&移动应用,如图

然后需要在能力列表添加“当面付”功能,签约的时候营业执照没有红色*,说明不是必填项,其他的功能签约时营业执照都是必填项。

签约成功后,下载SDK填写相应的配置进行调试
http://aopsdkdownload.cn-hangzhou.alipay-pub.aliyun-inc.com/demo/F2FPay_Demo_php.zip

配置文件是 f2fpay/config/config.php

支付宝公钥和商户私钥是通过支付宝开放平台开发助手生成的,可以在下图的选项里进行设置和查看
然后回调地址必须是一个线上能够访问到的地址。
配置完成后就可以在本地进行调试

支付宝返回的是一个二维码串,需要用专门的转换api进行转成成功二维码图片,支付宝官方用的二维码串转换工具是google的api,在我机器上图片是显示不出来的,应该是需要VPN才能使用,所有我从网上又找了一个api。

支付二维码能够正常显示后说明调试通了,就可以部署到项目中进行应用了,我的项目后端是PHP的框架TP5写的,以下介绍在框架中的具体应用。

支付流程:

1 : 页面点击成为好货推荐,调用订单生成接口,传商品id和登录用户id
2 : 订单接口生成订单数据,未支付状态,并将生成的 订单号、订单名称、订单金额 处理后通过curl访问调用二维码的文件并返回前端二维码图片src路径和订单id
3 : 用户支付成功后在回调方法里将回调数据写入日志文件,如果支付成功,根据回调数据里的订单号更新此订单的支付状态,以及其他的支付信息;
4 : 前端拿到二维码的src路径和订单id后,将二维码展示给用户,并利用ajax携带订单id参数每隔1秒请求订单状态接口,如果订单状态为已支付,提示“支付成功”

ThinkPHP5接入支付宝“当面付”流程

1.根据官方SDK里的 qrpay_test.php 文件的写法,把html部分删掉,不必要的请求参数删掉,返回格式json处理一下

2. 生成订单并返回二维码的路径及订单id

3. 回调处理

最后奉上订单方法里用到的生成待请求字符串的方法和cURL的方法,这些方法放到了公共文件common.php中

/*** 生成待请求字符串* @param $paramArr* @param bool|true     $sort       是否排序           默认排序* @param bool|false    $encode     是否urlencode处理  默认不处理* @param bool|false    $isnull     是否过滤空值字段   默认不过滤* @param string|&      $str        链接字符           默认&* @return string 返回待签字符串*/
function createSignStr ($paramArr, $sort = true, $encode = false, $isnull = false, $str = '&') {$param_array   = array();if($sort){ksort ( $paramArr );reset ( $paramArr );}foreach ($paramArr as $key => $val) {//$val = mb_convert_encoding($val,"GBK", "UTF-8");if($isnull){if($val === ''){unset($paramArr[$key]);}else{if($encode){$param_array[] = $key.'='.urlencode($val);}else{$param_array[] = $key.'='.$val;}}}else{if($encode){$param_array[] = $key.'='.urlencode($val);}else{$param_array[] = $key.'='.$val;}}}$param_str  = implode($str,$param_array);return $param_str;
}/*** 发送请求* @param $opts     //已加密字符串* @param $url      //发送地址* @return mixed    //返回支付返回信息*/
function sendHttpRequest($opts, $url) {$ch     = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_POST, 1 );curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false);//不验证证书curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, false);//不验证HOSTcurl_setopt ( $ch, CURLOPT_SSLVERSION, 1);curl_setopt ( $ch, CURLOPT_POSTFIELDS, $opts );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );// 运行cURL,请求网页$html = curl_exec ( $ch );curl_close ( $ch );return $html;
}

到此整个流程就结束了,希望对你有所帮助,如有疑惑需要帮忙可以在下方留言或加我qq:1298025852

线上支付支付宝个人支付接入流程详解相关推荐

  1. Android商家端线下支付流程详解

    对于Android应用客户端来说,通常情况下的支付方式分为微信和支付宝两种,实现方式是通过接入微信和支付宝的SDK,调用手机已安装微信和支付宝应用来完成支付操作,并将支付结果回调给该应用,根据支付结果 ...

  2. 【线上沙龙直播报名】App 启动流程详解及其优化

    点击上方"公众号"可以订阅哦 [美团点评技术沙龙Online]是美团点评技术团队推出的线上分享课程,每月2-3期,采用目前最火热的线上直播形式,邀请美团点评技术专家,面向互联网技术 ...

  3. 多图上传以及多图排序的方法及流程详解

    多图上传以及多图排序的方法及流程详解 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 所用插件包打包下载 ...

  4. 电商新零售系统划分及供应链系统流程详解

    [声明在先]:文中所有业务流程及系统设计均由电商标准流程改造,不具有任何商业倾向性. 前序文章讲解了产品经理从接到任务开始,到出具电商后台整体解决方案的过程,本文重点讲述电商后台核心系统的划分及主营供 ...

  5. 2022苹果开发者账号注册流程详解(公司账号)

    公司开发者账号注册流程详解: 一.注册公司账号前需要提供的信息: 1)邮箱,邮箱密码: 2)微信或支付宝或储蓄卡或者信用卡(原来是必须有需要带国际支付能力银行卡(visa银行卡,实际上是转账到国外的苹 ...

  6. 苹果app开发流程详解​

    苹果App Store上传应用流程详解,在向AppStore提交应用之前,开发者首先要成为苹果iOS开发者项目的成员,每年向苹果缴纳99美元或199美元的费用(具体申请方法后期更新).​ 免688开发 ...

  7. 跨境电商三单对碰三单申报流程详解

    跨境电商三单对碰三单申报流程详解 概要:三单申报是指"电子订单.电子运单.支付凭证". 1.电子订单: 适合申报企业类型"电商企业.电商交易平台.电商境内代理企业&quo ...

  8. 杂志订阅管理系统c++_电池管理系统BMS功能安全开发流程详解

    点击上面 "电动知家"可以订阅哦! BMS功能安全开发流程详解 BMS和ISO26262 - BMS & ISO26262简介 BMS即Battery Management ...

  9. 推荐系统整体架构及算法流程详解

    省时查报告-专业.及时.全面的行研报告库 省时查方案-专业.及时.全面的营销策划方案库 知识图谱在美团推荐场景中的应用实践 搜索场景下的智能实体推荐 机器学习在B站推荐系统中的应用实践 小红书推荐系统 ...

最新文章

  1. Nvidia推边缘运算平台EGX 未来将提供企业AI模型参考框架
  2. ubuntu mysql配置教程视频_ubuntu16.04安装配置mysql数据库,分割视频为帧图像
  3. Django(part6)--利用正则的组名进行关键字传参
  4. 伺服驱动器的 三环控制 电流环 速度环 位置环
  5. bootstrap table footerFormatter用法 统计列求和 sum、average等
  6. 串口操作之API篇 CreateFile
  7. 一张图教你如何选择机器学习算法
  8. java单一登录_java实现单一登录 踢人效果
  9. 字符串最后一个单词的长度
  10. SDRAM学习笔记(二)
  11. 我有几个粽子,和一个故事
  12. 最好用的 5 款 React 富文本编辑器
  13. 如何使用Bootbox?
  14. 面向过程的结构化程序设计分三种基本结构
  15. 1、智能盆栽初步了解
  16. Unity-黑暗之魂复刻-手柄接入与配置(Joystick)
  17. 如何修炼成某一领域的高手?
  18. Modbus转Modbus TCP的几种姿势
  19. 虚拟机安装未开启虚拟化
  20. P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布

热门文章

  1. 精通Apache Flink读书笔记
  2. 人工智能帮助千万用户完成「隐形征信」计算
  3. 黑盒、白盒、灰盒测试
  4. Fansblog  HDU-6608(费马小定理、威尔逊定理)
  5. 图片如何转换为文字?这些软件可以实现
  6. elang 游戏 生成全局id
  7. react移动端登录(第三方登录)和个人执行实现
  8. WLW离线编辑器的安装与使用
  9. SpringBoot中重试框架——Spring-retry与Guava-Retry
  10. spark RDD算子大全