GVKun编程网logo

AI换脸APP是否会引发刷脸支付盗刷?支付宝官方权威回复(ai换脸会导致人脸识别盗用吗)

10

如果您对AI换脸APP是否会引发刷脸支付盗刷?支付宝官方权威回复感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于AI换脸APP是否会引发刷脸支付盗刷?支付宝官方权威回复的详细

如果您对AI换脸APP是否会引发刷脸支付盗刷?支付宝官方权威回复感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于AI换脸APP是否会引发刷脸支付盗刷?支付宝官方权威回复的详细内容,我们还将为您解答ai换脸会导致人脸识别盗用吗的相关问题,并且为您提供关于2019支付宝账单在哪看 支付宝官方年度账单查看方法、Android App支付系列(二):支付宝SDK接入详细指南(附官方支付demo)、java 对接支付宝支付和支付宝提现代码(app)、lot刷脸支付的有价值信息。

本文目录一览:

AI换脸APP是否会引发刷脸支付盗刷?支付宝官方权威回复(ai换脸会导致人脸识别盗用吗)

AI换脸APP是否会引发刷脸支付盗刷?支付宝官方权威回复(ai换脸会导致人脸识别盗用吗)

AI换脸软件“ZAO”这几天刷屏朋友圈,根据软件介绍,用户仅需一张正脸照即可以替换为影视作品或者小视频中的人物,让自己成为视频主角。但该软件一经推出,让许多人担心自己的刷脸支付得不到保障。那么采用AI技术的换脸软件是否会造成开启刷脸支付的app盗刷呢,支付宝官方做出回复,一起来看下吧。

根据ZAO的用户授权协议,用户上传发布内容后,意味着同意授予ZAO及其关联公司以及ZAO用户在“全球范围内完全免费、不可撤销、永久、可转授权和可再许可的权利”,“包括但不限于可以对用户内容进行全部或部分的修改与编辑(如将短视频中的人脸或者声音换成另一个人的人脸或者声音等)以及对修改前后的用户内容进行信息网络传播以及《著作权法》规定的由著作权人享有的全部著作财产权利及邻接权利”。

该项条款包括但不限于:人脸照片、图片、视频资料等肖像资料中所含的用户或肖像权利人的肖像权,以及利用技术对其肖像进行形式改动。

还有网友担心,目前人脸识别在支付场景已经得到应用,如果面部信息泄露,是否会被不发分子盗刷?

据国内媒体报道,8月31日,蚂蚁金服方面回应称,“目前,网上各类换脸软件有很多,但不管换得有多逼真,都是无法突破刷脸支付的。”

据了解,“刷脸支付”采用的是3D人脸识别技术,在进行人脸识别前,也会通过软硬件结合的方式进行检测,来判断采集到的人脸是否是照片、视频或者软件模拟生成的,能有效地避免各种人脸伪造带来的身份冒用情况。

此外,在进行人脸识别后,部分用户还需要输入与账号绑定的手机号进行校验,进一步提高了安全性。

同时,支付宝还会通过各种安全风控策略确保账户安全。比如刷脸支付功能需要用户进行开通操作,开通之后才能进行支付,用户也可以随时关闭。

而且,即便出现账户被冒用的极小概率事件,支付宝也会通过保险公司进行全额赔付。

2019支付宝账单在哪看 支付宝官方年度账单查看方法

2019支付宝账单在哪看 支付宝官方年度账单查看方法

2019支付宝账单在哪看?下文中为大家带来了支付宝官方年度账单查看方法。感兴趣的朋友不妨阅读下文内容,参考一下吧

2019支付宝账单在哪看?支付宝2019年度账单出炉,有的朋友可能还不知道应该如何查看,下文中为大家带来了详细的介绍,感兴趣的朋友快来了解一下吧。

 

软件名称:
支付宝 for android V10.2.28 安卓手机版
软件大小:
96.8MB
更新时间:
2021-07-30立即下载

支付宝年度账单查看方法

打开支付宝——我的——账单——在顶部即可看到“你的2019年账单来了”——点击进入之后即可查看“年度账单”

或是在搜索栏里搜索"年度账单"

年度账单内包含的内容包括:用户使用支付宝时间,生活消费,如外卖点单;线下消费次数;交通出行消费记录;步行数据;低碳行为,即蚂蚁森林的记录……在账单的最后将会统计出用户2019年全年的账单数据。

Android App支付系列(二):支付宝SDK接入详细指南(附官方支付demo)

Android App支付系列(二):支付宝SDK接入详细指南(附官方支付demo)

一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多家成熟的移动支付提供商,阿里就是其中之一。

笔者在此总结了下阿里旗下支付宝Android SDK支付的接入流程,供后来者参考。

接入流程如下:

1 签约成为支付宝商户

签约地址:https://b.alipay.com/, 

只有成为签约商户的开发者才能具备集成支付宝app支付的资格。 

签约资料:1)营业执照 2)APP说明文档 3)商户经营信息、商户联系人等信息 

必要时还需提供APP apk以备审核。审核通过后即可进行代码集成。

审核通过后,可得到支付宝分配的商户号等信息。

2 客户端代码集成准备

2.1 导入jar包资源

目前最新版支付宝开发jar包下载地址:http://xiazai.jb51.net/201611/yuanma/alipaySdk_jb51.jar

下载后将之拷贝libs目录,Eclipse会自动添加依赖,Android Studio需在app的gradle中添加一行

compile files('libs/alipaySdk-20160223.jar')

点击右上角:Sync Now,稍等片刻

2.2 修改AndroidManifest.xml清单

声明必要Activity

<activity
      android:name="com.alipay.sdk.app.H5PayActivity"
      android:configChanges="orientation|keyboardHidden|navigation"
      android:exported="false"
      android:screenorientation="behind" >
</activity>
<activity
      android:name="com.alipay.sdk.auth.AuthActivity"
      android:configChanges="orientation|keyboardHidden|navigation"
      android:exported="false"
      android:screenorientation="behind" >
 </activity>

 添加必要权限

 <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2.3 添加支付宝混淆规则

-libraryjars libs/alipaySDK-20160223.jar
-keep class com.alipay.android.app.IAlixPay{*;}
-keep class com.alipay.android.app.IAlixPay$Stub{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
-keep class com.alipay.sdk.app.PayTask{ public *;}
-keep class com.alipay.sdk.app.AuthTask{ public *;}

3 客户端代码集成

支付宝交互流程示意图

流程图白话版解释

1.app携带支付信息调用支付接口请求支付宝客户端调起支付界面;

2.用户操作,输入密码支付,支付成功;直接返回取消支付;出现错误,支付失败;进入支付界面,但输入密码支付,支付待确认;

3.支付宝客户端将支付结果告诉app客户端,商户服务器通知app服务器支付结果;

4.app客户端处理支付结果;

5.app服务器处理支付结果。

支付宝的支付流程较之微信的支付流程图少了一步app服务器端订单的生成,但是在其demo代码中是推荐使用app服务器进行sign签名过程的,于是笔者索性是按照的微信支付的流程(微信支付交互流程)去集成的。

•客户端代码得到用户购买的商品信息,将之传给自己公司app服务器,参数包含但不限于以下:

params.put("money",payMoney);// 商品金额,单位:元
params.put("goodsname",goodsName);// 商品名称

注意:支付宝支付的人民币单位和微信支付,银联支付稍有不同,需以:元 作为支付单位。其他两者支付单位为:分
 其他参数均交给咱们app服务器处理即可,详细参数请点击:https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103663&docType=1

•app服务器参考上述详细参数链接,得到sign(支付签名信息)字段并返回sign字段给手机客户端;

•手机客户端使用sign签名信息在非UI线程调起支付客户端进行支付;
 用户操作:输入密码进行支付;返回键取消支付;进入支付界面,用户未进行支付,用户返回,待支付;网络无连接支付失败等;

•客户端得到支付结果;

•支付宝服务器异步通知咱们公司app服务器支付结果(服务器的工作,与客户端无关)

这样做的好处:签名逻辑在服务器完成,app无需暴露公钥和私钥,更安全。同时也是demo中的推荐做法。

更详细的支付宝接入交互流程解释请点击:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.7WO30X&treeId=59&articleId=103658&docType=1

4 客户端代码示例

支付调起代码(须在子线程)

new Thread() {
          @Override
          public void run() {
            super.run();
            PayTask payTask = new PayTask(mActivity);
            String result = payTask.pay(signInfo,true);
            Message message = mHandler.obtainMessage();
            message.what = PAY_RESULT;
            message.obj = result;
            mHandler.sendMessage(message);
          }
        }.start();

支付处理代码(UI线程)
 

 /*支付宝支付结果码*/
  private static final String PAY_OK = "9000";// 支付成功
  private static final String PAY_WAIT_CONFIRM = "8000";// 交易待确认
  private static final String PAY_NET_ERR = "6002";// 网络出错
  private static final String PAY_CANCLE = "6001";// 交易取消
  private static final String PAY_Failed = "4000";// 交易失败

  /*内部类,处理支付宝支付结果*/
  static class AliPayHandler extends Handler {
    private SoftReference<PayActivity> activitySoftReference;// 使用软引用防止内存泄漏

    public AliPayHandler(PayActivity activity) {
      activitySoftReference = new SoftReference<PayActivity>(activity);
    }

    @Override
    public void handleMessage(Message msg) {
      super.handleMessage(msg);
      PayActivity activity = activitySoftReference.get();

      AliPayResult payResult = new AliPayResult((String) msg.obj);
      String resutStatus = payResult.getResultStatus();
      Log.d(TAG,"statusCode = " + resutStatus);

      if (resutStatus.equals(PAY_OK)) {
        activity.paySuccessed();
      } else if (resutStatus.equals(PAY_CANCLE)) {
        activity.payCanceled();
      } else if (resutStatus.equals(PAY_NET_ERR)) {
        activity.payFailed(NETWORK_ERR);
      } else if (resutStatus.equals(PAY_WAIT_CONFIRM)) {
        activity.payWaitConfirm();
      } else {
        activity.payFailed(UNKNow_ERR);
      }
    }
  }

注:AliPayResult.Java来自支付宝demo中的PayResult.java

至此,集成支付宝SDK结束。祝各位集成支付宝支付成功!

结束语

app服务器接入注意事项:官方给出的填写rsa公钥的地址有误,无论填写什么都提示:公钥格式错误。需要移步至:支付宝公钥填写正确地址填写

按照惯例,附上支付宝SDK接入的官方demo下载链接:https://doc.open.alipay.com/doc2/detail.htm?treeId=54&articleId=104509&docType=1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

java 对接支付宝支付和支付宝提现代码(app)

java 对接支付宝支付和支付宝提现代码(app)

java 对接支付宝支付和支付宝提现代码(app)

一、申请支付宝商家的各种参数 以及证书 不多做介绍

二、引入maven

  

        <dependency>
            <groupId>com.alipay.sdk</groupId>
            <artifactId>alipay-sdk-java</artifactId>
            <version>4.22.57.ALL</version>
        </dependency>

 

三、支付宝支付下单 以及提现的工具类:outTradeno是内部订单号,money是钱数 (AliConfig为我自己写的存参数的类)

  提现接口loginid是支付宝账号 name是真实姓名 orderno是内部订单号 money是提现数量

import com.alipay.api.*;
import com.alipay.api.domain.AlipayFundTransUniTransferModel;
import com.alipay.api.domain.AlipayTradeAppPayModel;
import com.alipay.api.domain.Participant;
import com.alipay.api.internal.util.AlipaySignature;
import com.alipay.api.request.AlipayFundTransUniTransferRequest;
import com.alipay.api.request.AlipayTradeAppPayRequest;
import com.alipay.api.response.AlipayFundTransUniTransferResponse;
import com.alipay.api.response.AlipayTradeAppPayResponse;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class AlipayText {

    static String CHARSET = "UTF-8";
    static String sign_type = "RSA2";

    /*APP 支付 证书方式*/
    public static String alipayPayCert(String outTradeno,String money) throws AlipayApiException {
        //构造client
        CertAlipayRequest certAlipayRequest = new CertAlipayRequest ();
        //设置网关地址
        certAlipayRequest.setServerUrl(AliConfig.SERVERURL);
        //设置应用Id
        certAlipayRequest.setAppId(AliConfig.APP_ID);
        //设置应用私钥
        certAlipayRequest.setPrivateKey(AliConfig.APP_PRIVATE_KEY);
        //设置请求格式,固定值json
        certAlipayRequest.setFormat("json");
        //设置字符集
        certAlipayRequest.setCharset(CHARSET);
        //设置签名类型
        certAlipayRequest.setSignType(sign_type);
        //设置应用公钥证书路径
        certAlipayRequest.setCertPath(AliConfig.app_cert_path);
        //设置支付宝公钥证书路径
        certAlipayRequest.setAlipayPublicCertPath(AliConfig.alipay_cert_path);
        //设置支付宝根证书路径
        certAlipayRequest.setRootCertPath(AliConfig.alipay_root_cert_path);
        //构造client
        AlipayClient alipayClient = new DefaultAlipayClient(certAlipayRequest);
        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.Trade.app.pay
        AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest ();
        //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为sdk的model入参方式(model和biz_content同时存在的情况下取biz_content)。
        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel ();
        model.setBody("购买xx" );
        model.setSubject ( "购买xx" );
        model.setoutTradeNo ( outTradeno );
        model.setTimeoutExpress ( "30m" );
        model.setTotalAmount ( money );
        model.setProductCode ( "QUICK_MSecurity_PAY" );
        request.setBizModel ( model );
        request.setNotifyUrl ( AliConfig.NotifyUrl );
        try  {
            //这里和普通的接口调用不同,使用的是sdkExecute
            AlipayTradeAppPayResponse response = alipayClient.sdkExecute( request );
            System.out.println(response.getBody()); //就是orderString 可以直接给客户端请求,无需再做处理。
            return response.getBody();
        }  catch (AlipayApiException e ) {
            e.printstacktrace();
        }
        return null;
    }


    /*APP 转账*/
    public static String alipayFundTransUniTransfer(String loginId,String name,String orderno,String money) throws AlipayApiException {
        AlipayConfig alipayConfig = new AlipayConfig();
        alipayConfig.setServerUrl(AliConfig.SERVERURL);
        alipayConfig.setAppId(AliConfig.APP_ID);
        alipayConfig.setPrivateKey(AliConfig.APP_PRIVATE_KEY);
        alipayConfig.setAppCertPath(AliConfig.app_cert_path);
        alipayConfig.setAlipayPublicCertPath(AliConfig.alipay_cert_path);
        alipayConfig.setRootCertPath(AliConfig.alipay_root_cert_path);
        alipayConfig.setFormat("JSON");
        alipayConfig.setCharset(CHARSET);
        alipayConfig.setSignType("RSA2");
        // 构造client
        DefaultAlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
        AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
        AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel();
        Participant payeeInfo = new Participant();
        payeeInfo.setIdentity(loginId);
        payeeInfo.setName(name);
        payeeInfo.setIdentityType("ALIPAY_logoN_ID");
        model.setPayeeInfo(payeeInfo);
        model.setProductCode("TRANS_ACCOUNT_NO_PWD");
        model.setorderTitle("提现");
        model.setoutBizNo(orderno);
        model.setBusinessParams("{\"payer_show_name_use_alias\":\"xxxx\"}");
        /*SignData signData = new SignData();
        signData.setorIoUtBizNo("订单号");
        signData.setoriSignType("RSA2");
        signData.setoriSign("EqHFP0z4a9iaQ1ep==");
        signData.setoriCharSet("UTF-8");
        signData.setPartnerId("签名被授权方支付宝账号ID");
        signData.setoriAppId("2021000185629012");
        model.setSignData(signData);*/
        model.setRemark("提现");
//        model.setoriginalOrderId("20190620110075000006640000063056");
//        model.setPassbackParams("{\"merchantBizType\":\"peerPay\"}");
        model.setBizScene("DIRECT_TRANSFER");
        model.setTransAmount(money);
        request.setBizModel(model);
        AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);
        System.out.println(response.getBody());
        if (response.isSuccess()) {
            System.out.println("调用成功");
        } else {
            System.out.println("调用失败");
        }
        return response.getBody();
    }
}

四、支付宝提现调用代码处理

JSONObject json = JSONObject.parSEObject(res).getJSONObject("alipay_fund_trans_uni_transfer_response");
        if (!"10000".equalsIgnoreCase(json.getString("code"))) {
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            return AjaxResult.error(json.getString("sub_msg"));
        }

五、支付宝回调

/**
     * 支付宝回调
     */
    @PostMapping("alipay_callback")
    public void alipaySend(HttpServletRequest request, HttpServletResponse response) throws AlipayApiException, IOException {
        //获取支付宝POST过来反馈信息
        Map<String, String> params = new HashMap<String, String>();
        Map requestParams = request.getParameterMap();
        for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext(); ) {
            String name = (String) iter.next();
            String[] values = (String[]) requestParams.get(name);
            String valueStr = "";
            for (int i = 0; i < values.length; i++) {
                valueStr = (i == values.length - 1) ? valueStr + values[i] : valueStr + values[i] + ",";
            }
            //乱码解决,这段代码在出现乱码时使用。
            //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
            params.put(name, valueStr);
        }
        logger.info("支付宝回调返回的信息{}", params.toString());
        boolean flag = AlipaySignature.rsaCertCheckV1(params, AliConfig.alipay_cert_path, "UTF-8", "RSA2");
        String TradeNo = params.get("out_Trade_no");
        BbOrder order = orderService.selectOrderByOrderNo(TradeNo);
        if (order == null) {
            throw new ServiceException("out_Trade_no错误");
        }
        // 支付成功
        if (flag) {
            logger.info("支付成功");
            
        } else {
            logger.info("支付失败");
        }
        response.getWriter().write("success");
    }

 

六、搞定

lot刷脸支付

lot刷脸支付

先上效果图

 

 

 共三个小功能:(1)首先进入界面可以扫码支付(2)刷脸认证授权(3)刷脸支付

界面代码:

<view>
<button id="renzheng" size="default" type="primary" onTap="renzheng">刷脸认证</button>
<button id="zhifu" size="default" type="primary" onTap="zhifu">刷脸支付</button>
</view>

1  扫码支付

话不多说,直接上代码,在加载界面的时候放该段代码

//开启扫码

my.ix.startCodeScan({scanType: "ALL"});//容器10.1.60.1-7可不调用
 //扫码的时候会回调有返回值
my.ix.onCodeScan((r) => {
  if(r.success)
    //扫码成功,返回r.code,付款码
    console.log(''code: '' + r.code);
  },
  fail: (r) => {
    console.log("fail, errorCode:" + r.code);
  }
});
 在界面关闭的时候关闭扫码功能
my.ix.offCodeScan();
2 刷脸授权
my.getAuthCode({
scopes: [''auth_user''],
success: (res) => {
console.log("tpl"+res.authCode);//返回授权码
},
error:(res)=>{
console.log(res.error);
}
 
3 刷脸支付
my.ix.startApp({
appName: ''cashier'',
bizNo: ''12345678'',
totalAmount: ''0.01'',
orderDetail: [{ name: ''名称1'', content: ''详情134'', fontColor: ''gray'' },{ name: ''名称2'', content: ''详情456'', fontColor: ''red'' }],
success: (r) => {
my.showToast({ content: r.barCode });
console.log(r.barCode);//刷脸成功之后获取付款码
}
});
刷脸成功得到付款码之后调用支付接口,传参
my.request({
url: ''https://192.168.0.56:80/zhb/pay?code='' + r.barCode + ''&price='' + "0.01",
success: (res) => {
console.log(res);
},
});
 
url更换成自己的接口地址就行
 

原文出处:https://www.cnblogs.com/tupengli/p/12107509.html

今天关于AI换脸APP是否会引发刷脸支付盗刷?支付宝官方权威回复ai换脸会导致人脸识别盗用吗的分享就到这里,希望大家有所收获,若想了解更多关于2019支付宝账单在哪看 支付宝官方年度账单查看方法、Android App支付系列(二):支付宝SDK接入详细指南(附官方支付demo)、java 对接支付宝支付和支付宝提现代码(app)、lot刷脸支付等相关知识,可以在本站进行查询。

本文标签: