创建应用

使用支付宝账号登录开放平台创建应用,应用创建成功之后可以得到APPID等相关信息

接着需要设置RSA密钥,可以使用蚂蚁金服开放平台提供的生成工具,生成完密钥需在开放平台中填写。

代码接入

引用服务端SDK

为了方便开发者的接入,支付宝提供了几种常用开发语言的服务端SDK
本人项目中使用的是PHP Laravel框架,下载SDK后,在app目录下新建libs目录,将SDK包解压放入文件夹下。
接着需要将SDK的代码加上命名空间,以我的项目目录结构为例,需要在代码的顶部加上如下一行代码

确保引入的代码都加入了正确的命名空间。

请求下单接口
public function requestAliOrder()
{
        // 商户订单号
        $orderSn           = $_POST['orderSn'];
        // 商品价格
        $price                = $_POST['price'];
        // 支付应用的APPID
        $appId               = $_POST['appId'];
        // 私钥 可使用支付宝提供的工具生成
        $rsaPrivateKey  = $_POST['privateKey'];
        // 公钥 可使用支付宝提供的工具生成
        $rsaPublicKey   = $_POST['publicKey'];

        // 使用支付宝下单sdk
        $ali = new AopClient();
        $ali->gatewayUrl    = 'https://openapi.alipay.com/gateway.do';
        $ali->appId         = $appId;
        $ali->format        = 'json';
        $ali->postCharset   = 'UTF-8';
        $ali->signType      = 'RSA2';
        $ali->apiVersion    = '1.0';
        $ali->rsaPrivateKey = $rsaPrivateKey;
        $ali->rsaPublicKey  = $rsaPublicKey;
        $bizContent = [
            'body'               => 'test..',
            'subject'            => '商品',
            'out_trade_no'  => $order_id,
            'total_amount'  => $price,
            'product_code'  => 'QUICK_WAP_WAY',
        ];
        // 支付结果异步通知地址
        $request->setNotifyUrl('http://pay.alipay.cn/alipayResult');
        $request->setBizContent(json_encode($bizContent));
        // 生成html表单 由支付宝SDK生成
        $response = $ali->pageExecute($request);
        return $response;
    }

由SDK生成的html表单,也可以自己手动组装而成,有兴趣的可以尝试一下。
将此表单返回给客户端之后,便可调起手机上的支付宝APP进行支付

最新文章

  1. BZOJ1090: [SCOI2003]字符串折叠
  2. 总结ThinkPHP使用技巧经验分享(一)
  3. 初识Windows窗体(包括各种控件,属性,方法)
  4. iOS 隐藏系统的导航,使用自定义的导航
  5. PIC18F中断定时器
  6. So easy Webservice 5.WSDL 文件说明
  7. python urllib2模块携带cookie
  8. Fedora 20中解决zip解压文件时中文文件名的乱码问题[已解决]
  9. python——常用模块2
  10. SpringBoot vue
  11. SecureCRT标签显示IP地址
  12. Python入门经典. 以解决计算问题为导向的Python编程实践
  13. delphi做的程序如何连接SQL数据库
  14. mysql 原理 ~ 并行复制
  15. Unity Shader笔记
  16. python处理文件的换行符
  17. Spark的HA部署
  18. JTAG-测试数据寄存器
  19. Asp.net mvc怎么在razor里写js代码
  20. Spring 中面向AOP之一系列做法

热门文章

  1. ELASTIC SEARCH 安装
  2. HDU1693 Eat the Trees(zerojudge a228)
  3. Java 对象初始化生命周期
  4. 再战CS231-快速排序
  5. idea中JDK失效
  6. Flask:abort()函数
  7. vue系列之项目优化
  8. elasticsearch5.5-head
  9. python图片处理(三)
  10. python图片处理和matlab图片处理的区别