如何配置支付宝密钥之如何配置普通 RSA2 密钥|保姆级教学(一)

发布时间 2023-11-07 13:50:39作者: 盐焗代码虾

进行支付宝开发的第一步就是:配置密钥

但是有很多小伙伴都不知道怎么配置,这篇文章将手把手帮你从头开始捋清如何配置支付宝密钥~

这次首先放一下官方文档:[如何生成及配置 RSA2 密钥],大佬们也可以选择直接跟着文档流程来。

这次主要分享一下「如何配置普通 RSA2 密钥」,证书相关内容放在下次和大家展开╮( ̄▽ ̄)╭

前期准备:普通密钥的适用范围

只要不是「单笔转账」和「现金红包」这两个产品,其他产品都可以使用到普通密钥。

那么,「单笔转账」和「现金红包」这种资金类的服务使用什么呢?

答案是必须使用公钥证书。详情可参阅 ? [什么接口推荐使用公钥证书签名]

划重点:支付宝密钥的主要用处

RSA2 密钥主要获取到三个参数,应用公钥应用私钥支付宝公钥。

  • 其中 应用公钥 是要拿来跟支付宝换 支付宝公钥 的。
  • 支付宝公钥 应用私钥 是要传到代码中进行接口调用的。

第一步:生成密钥

配置密钥的第一步就是要先 生成一个密钥,这里需要下载支付宝官方工具:密钥生成工具

通过这个工具我们可以获取到 应用公钥 应用私钥,如下图:

 

 

 

选择【密钥】、【RSA2】去生成:

 

 

注意:应用公钥 是要拿到支付宝平台跟支付宝换 支付宝公钥 的。

注意:应用私钥 先好好保存到本地,后续要写到代码里面的;如果这个私钥要是给出去了,账号上的资金就得小心了。

? [应用私钥泄露会怎么样]

特别注意:这个工具生成的密钥默认是 Java 语言(PKCS8 格式)使用的,如果是其他语言,请用工具中的【格式转化】,把密钥转化成 PKCS1 格式。

? [如何区分密钥格式类型]

第二步:配置密钥

配置密钥的过程就是讲 应用公钥 要怎么去跟支付宝换 支付宝公钥。

其实官方的指引流程比较详细了,只要找到配置的位置,接下来的步骤就比较顺利。

位置在支付宝开放平台对应的应用界面下:

 

 

没有应用的小伙伴先可以创建一个应用 ? [如何创建应用]

点击【设置】,选择【密钥】:

 

 

点击【下一步】,会有一个如何生成密钥文件的指引说明,也就是本文之前说的生成密钥步骤:

 

 

直接将之前获取的 应用公钥 放进去点击上传就可以啦:

 

 

点击【上传】之后,会有一个校验,用验证码或者是支付密钥校验都可以:

 

 

上传成功之后,就可以换到 支付宝公钥

 

第三步:如何使用密钥

通过上文的配置密钥的流程,我们就能拿到需要传入到代码中的 应用私钥 支付宝公钥

先放个参考示例供大家查阅:

? [手机网站支付的代码参考示例]

 

<?php
require_once '../../aop/request/AlipayTradeWapPayRequest.php';
require_once '../../aop/AopClient.php';

$Config=new Config();

/** 引用初始化方法,Config配置链接:https://opensupport.alipay.com/support/FAQ/08d46c24-15a8-4f1c-85a0-68fdf587f813  **/   
$alipayClient = new AopClient ();
$alipayClient->gatewayUrl = $Config->gatewayUrl;
$alipayClient->appId = $Config->app_id;
$alipayClient->rsaPrivateKey = $Config->merchant_private_key;
$alipayClient->alipayrsaPublicKey=$Config->alipay_public_key;
$alipayClient->signType = $Config->sign_type;
$alipayClient->postCharset=$Config->charset;
$alipayClient->format=$Config->format;
$alipayClient->apiVersion = $Config->version;

$request = new  AlipayTradeWapPayRequest ();
$object = new stdClass();
$object->out_trade_no ="2020061601290011200000140004";
$object->subject = "subject";
$object->total_amount = "0.01";
$object->product_code = "QUICK_WAP_WAY";
$bizContent=json_encode($object);

$request->setBizContent($bizContent);

/** 异步通知地址,以http或者https开头的,商户外网可以post访问的异步地址,用于接收支付宝返回的支付结果 **/
$request->setNotifyUrl($Config->notify_url);

/** 调用SDK生成支付链接,可在浏览器打开链接进入支付页面 **/
$result = $alipayClient->pageExecute ($request,"GET");//生成url链接

print_r(htmlspecialchars($result));

 

 

代码中这两个参数对应的位置为:

rsaPrivateKey 传入 应用私钥

alipayrsaPublicKey 传入 支付宝公钥

 

以上就是配置「支付宝密钥之如何配置普通 RSA2 密钥」的教程啦~,希望对你有所帮助~✿✿ヽ(°▽°)ノ✿

下期将继续讲述证书相关等内容~