该文章或问题已被删除

支付宝授权登录 android 和 ios 授权登录插件

价 格: ¥68.00

简 介: 支持 android 和 ios 授权登录 QQ交流群:891416757

跳转到 uniapp 插件市场

详细内容

支付宝 android 和 ios 授权登录插件

一、实例化插件

复制代码const  plug=uni.requireNativePlugin("Html5app-AlipayAuth");

二. Andrid 版本使用说明:

因为本插件与官方提供的内置支付宝支付功能有冲突,所以本插件包含了支付功能在里面,使用本插件,

就不能再勾选官方提供的支付宝支付功能了,不如打包会发生冲突错误。

本插件使用的支宝版SDK版本: alipaySdk-15.6.4-20190624155522

1. 支付功能 介绍

复制代码plug.Payment({"orderInfo":""},ret=>{

});
需要服务器端生成一个 orderInfo 订单字符串内容,用于调起支付宝支付功能, 跟官方提供的一样。
复制代码app_id=2015052600090779&biz_content=%7B%22timeout_express%22%3A%2230m%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%2C%22total_amount%22%3A%220.01%22%2C%22subject%22%3A%221%22%2C%22body%22%3A%22%E6%88%91%E6%98%AF%E6%B5%8B%E8%AF%95%E6%95%B0%E6%8D%AE%22%2C%22out_trade_no%22%3A%22IQJZSRC1YMQB5HU%22%7D&charset=utf-8&format=json&method=alipay.trade.app.pay&notify_url=http%3A%2F%2Fdomain.merchant.com%2Fpayment_notify&sign_type=RSA2&timestamp=2016-08-25%2020%3A26%3A31&version=1.0&sign=cYmuUnKi5QdBsoZEAbMXVMmRWjsuUj%2By48A2DvWAVVBuYkiBj13CFDHu2vZQvmOfkjE0YqCUQE04kqm9Xg3tIX8tPeIGIFtsIyp%2FM45w1ZsDOiduBbduGfRo1XRsvAyVAv2hCrBLLrDI5Vi7uZZ77Lo5J0PpUUWwyQGt0M4cj8g%3D

获取订单信息: 参考支付宝APP支付文档

I. 成功支付 回调数据
复制代码{   "msg":"支付成功",
    "code":"9000",
    "retsult": {
        "code": "10000",
        "msg": "Success",
        "app_id": "201801240205xxxx",
        "auth_app_id": "201801240205xxxx",
        "charset": "UTF-8",
        "timestamp": "2019-08-03 04:37:03",
        "out_trade_no": "1564778212978",
        "total_amount": "0.10",
        "trade_no": "2019080322001476520543070119",
        "seller_id": "2088221737128735",
        "sign": "d9eccndF62qqCywTzCgapWOQky3HG2Uzwdx+lBvfJ4sVvVUClHMmmkh388PvlcoYLuzty94OYby3ZAgl6g9dYRhvUQ61hZq1dGHEaXcN+yMIaZCEsrJSWpI942neGisp5383IJM80nJC0Hu9SuIsQPR2qfg2BVbMuYNBcGS77RqedxlT6X+4VZU+DQ2YtTBNiqBLmyxr98LiQKBCFXYtVhCFy+hRe5EhwDT3+YU89Zbe+sLsBYNLMsf6VPqkuBOKbFqzBIPcsTQBD93o3I63/SPVMgIl7BcIta3WcaKi83P42xd9zz0wo19oIEtFIKsj3E78Uui41bgXThVnZYDXVw==",
        "sign_type": "RSA2"
        }
}
II. 其他原因 回调数据
复制代码{"msg":"支付操作已取消","retult":"",code:"6001"}

2. H5 网页支付宝支付转化成 APP原生模式支付,该功能是限于在安卓中使用。

复制代码plug.h5Pay({"url":"https://m.taobao.com"},ret=>{});
可以打开任何含有支付宝支付功能的H5 网页,当点击支付宝支付会栏截H5跳转到支付宝,而直接在本APP 调起原生的支付宝支付框。

3. 支付宝授权登录

复制代码plug.login({"appid":"201801240205xxx"},ret=>{

});
参数: appid 是你支付宝的应用ID, 填写之后,点击跳转到支付宝授权页面。
I. 授权成功 回调参数
复制代码{
    "msg": "授权成功",
    "result": {
        "auth_code": "c984f507191845cb99896324b67cZF52",
        "scope": "auth_user",
        "state": "init",
        "result_code": "SUCCESS",
        "app_id": "201903216361xxxx"
    },
    "code": 0
}
II. 取消授权
复制代码{
    "msg": "用户取消授权",
    "result": "",
    "code": 1
}

三、 IOS 版本介绍

I. 为了兼顾一些 虚拟物品的APP 也可以使用支付宝授权登录功能,ios 版本是简结版不包含支付功能,从而避免被苹果审核查到有支付宝相关SDK而不能上架问题。
II. 如果有需要支付宝支付功能的,还需勾选官方提供的支付宝支付选项,使用官方提供的API。

IOS支付宝授权与uniapp官方自带的支付宝支付功能有文件冲突,如果要使用支付宝支付功能,需要下载一个替换文件放在插件目录下,然后和插件一起打包。

下载附件文件.zip

1. IOS 授权登录说明:

I .需要在配置 manifest.json 文件中,配置 urlschemes , 名称自己,自定义随便写,这里主要是接收支付宝授权返回的相关信息使用。
复制代码 /* ios打包配置 */
 "ios" : {
    "urltypes":[
        {
            "urlschemes":["alipaydemo123"]
        }
    ]
}
II .授权调用方法
复制代码plug.login({"appid":"201801240205xxx","urlscheme":"alipaydemo123"},ret=>{

});
调起支付宝授权,多了一个 urlscheme 参数,填写的名称 和 配置文件中的一样, 返回的数据跟Android一样。
III. 授权成功 回调参数
复制代码{
    "msg": "授权成功",
    "result": {
        "auth_code": "c984f507191845cb99896324b67cZF52",
        "scope": "auth_user",
        "state": "init",
        "result_code": "SUCCESS",
        "app_id": "201903216361xxxx"
    },
    "code": 0
}
IIII. 取消授权
复制代码{
    "msg": "用户取消授权",
    "result": "",
    "code": 1
}

4. 授权成功后,获得 auth_code 临时凭证, 通过它提交到服务器上,再通过支付宝的相关 API 接口 来获得你想到的数据。

I. 例如获得会员用户信息

PHP 就可以这样写

复制代码    $aop = new \AopClient();
    $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
    $aop->appId =self::APPID;
    $aop->rsaPrivateKey = self::RSA_PRIVATE_KEY;
    $aop->alipayrsaPublicKey=self::ALIPAY_RSA_PUBLIC_KEY;
    $aop->apiVersion = '1.0';
    $aop->signType = 'RSA2';
    $aop->postCharset='UTF-8';
    $aop->format='json';
    $request = new AlipaySystemOauthTokenRequest();
    $request->setGrantType("authorization_code");

    $request->setCode($auth_code); //临时凭证

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

    $accessToken=$result->alipay_system_oauth_token_response->access_token;

    $request01 = new AlipayUserInfoShareRequest(); //查询会员信息

    $result01 = $aop->execute ($request01,$accessToken); 
II 详细的介绍,请查看支付宝文档介绍

查询会员信息-》支付宝文档

Android 示例,扫一扫下载安装体验

0 个回答

正在加载...

这里空空如也,快来补一刀!

加载更多

回答问题或评论文章请先 或者 注册