首页 > 其他分享 >AlipayGlobal集成备忘录

AlipayGlobal集成备忘录

时间:2024-01-29 15:23:02浏览次数:32  
标签:集成 alipay AlipayGlobal global 备忘录 参数 开发者 https com

一、获取clientId,publicKey,privateKey

登录开发者中心 https://global.alipay.com/developer

pFusves.png

如果当前账号尚未配置publicKey ,则需要你下载阿里官方提供的工具去生成一个

pFusXLj.png

最终你要使用的publicKey 和privateKey 分别来自以下两个地方

pFusOyQ.png
pFusLQg.png

另外开发者中心提供如图所示工具,进行一系列测试

pFusqSS.png

二、应该去哪里找API文档

开发者中心的 Basic Information会显示当前账号开通了哪些产品,点击对应的产品即可进入API文档,

pFusHW8.png

如图 Cashier Payment的文档地址就是 https://global.alipay.com/docs/ac/cashierpay/overview

https://global.alipay.com/docs/ac/ams/payment_agreement

三、国家,币种,支付方式之间的关系

以下链接在测试不同币种或支付方式时,需注意对应关系,因为有时候你得到的报错信息不会提示币种或支付方式有误

https://global.alipay.com/docs/ac/cashierpay/payment_method_capabilities?pageVersion=38

https://global.alipay.com/docs/ac/ref/payment_method

四、测试支付

一般情况下,测试支付的账号可以随意填写,少数支付渠道需要使用特定的mock数据,这些mock数据需要找阿里沟通群的负责人要

五、异步通知

  • 异步通知的地址需要在创建交易时指定,并且该地址要求公网可以访问,本地开发可以使用内网穿透方式

  • 如果可以,尽量遵照官方的要求对通知参数进行验签,对应的SDK下载地址
    https://global.alipay.com/docs/sdks

注意

  • 接收到的签名参数在header中携带,验签时仅需要截取 signature=后的字符串,并对其进行urldecode后再调用sdk的验签方法

  • 仅PHP语言需留意 对接收到的body参数进行json_encode时,应使用 JSON_FORCE_OBJECT参数,确保得到的json字符串中若存在空对象,不会被转为空数组形式

  • 验签参数中的path参数指的是异步通知的地址,仅需要域名后面到传参前的一段。

  • 以下是一个示例
// 官方SDK验签的方法
$isVerifyPass  = SignatureTool::verify($httpMethod, $path, $clientId,
 $rspTime, $rspBody, $rspSignValue, $alipayPublicKey);
// $httpMethod   默认为 POST
// $path         按照上述方式传参即可
// $clientId     当前使用的clientId
// $rspTime      取header中的request-time
// $rspBody      取post请求过来的body即可,如果使用了某些框架封装的参数获取方法,
//               则需要注意:获取到的body可能会被转成数组,当其中存在空值时,可能
//               会被转为数组而非对象
//               有两种处理方式:
//                  (1) 使用原生 $_POST
//                  (2) 对封装的参数获取方法得到的数组进行
//                      json_encode($params, JSON_FORCE_OBJECT)
// $rspSignValue 对header中的signature进行截取,取signature=后的字符串
//               并urldecode
// $alipayPublicKey 使用获取到的publicKey

六、国际信用卡异步通知

  • 国际信用卡异步通知分两次

    • 第一次的notifyTypePAYMENT_RESULT,此时代表交易已被捕获,用户卡额度被冻结

    • 第二次的notifyTypeCAPTURE_RESULT,此时代表交易已结算,认为交易已成功,业务上可以进入后续流程

  • 拒付通知

    • 拒付通知的地址需要在开发者中心进行配置,无法在支付发起时指定

    • 信用卡支付存在用户拒付的情况,出现在已经CAPTURE完成之后,此时会收到notifyDispute ,其中disputeNotificationType 分为以下四种:

      • DISPUTE_CREATED: Indicates that a dispute occurs.(争议创建)
      • DISPUTE_JUDGED: Indicates that the dispute is judged.  (争议判决)
      • DISPUTE_CANCELLED: indicates that the dispute is cancelled by the user.  (用户取消争议请求)
      • DEFENSE_SUPPLIED: indicates that your defense documents for the dispute are submitted. (争议辩护文件已提交)
    • 一般情况,捕获到DISPUTE_CREATED时,应取消订单,拦截发货。或者发送提醒给客服,尝试联系客户询问原因

七、应用上线

上线前提:

确认开发者中心上application的状态,登录开发者中心查看设置相关事项,全部显示completed/signed的情况下再去launch应用。

操作步骤

  1. 点击Integration Settings tab:在Production标签页下,设置跟交换生产环境的公私钥;
  2. Acceptance Testing:确认已在沙箱环境完成集成并通过验收用例;
  3. Contract Status:确认与支付宝的正式合约签订完毕。
  4. 应用launch后,您需在应用内修改域名(请使用开发者中心内分配的生产域名),接口请求地址及生产的Client ID等信息,并等待半小时后再发起请求进行生产测试。

标签:集成,alipay,AlipayGlobal,global,备忘录,参数,开发者,https,com
From: https://www.cnblogs.com/dust2/p/17994606

相关文章

  • 模拟集成电路设计系列博客——5.3.2 电容重置开关电容增益电路
    5.3.2电容重置开关电容增益电路为了消除需要放大器输出每个时钟周期都需要摆动到接近0V,并且仍然能够取消掉放大器的失调电压,可以使用一个电容重置正义电路。这个正义电路的基本思路是通过一个之前充电到输出电压电容,将放大器的输出在复位相耦合到一个反相的输入。因此,我们会看到......
  • 模拟集成电路设计系列博客——5.3.1 可重置开关电容增益电路
    5.3.1可重置开关电容增益电路最常见的非滤波器模拟功能是可能增益电路,即输出信号是输入信号的比例缩放。使用开关电容技术可以实现精确的正义电路。开关电容增益电路的一个重要应用是在流水线ADC中。具体的流水线ADC中的开关电容电路会在那个章节中进行讨论。在有源RC电路中,增......
  • FastAPI学习-31 FastAPI 如何集成 socket.io
    前言socket.io就是基于websocket封装的一个库,主要特点是能够进行实时的双向通讯,主要应用场景有实时的聊天,数据实时分析,数据传输,文件协同合作。有个socket.io的fastapi-socketio官方库,该库依赖传统的python-socketio库环境准备pipinstallfastapi-socketiofastapi服......
  • 智能车学习笔记/备忘录乱写 | 地平线篇
    前言持续更新中!校内赛打完分到地平线组了,好多新东西,写篇笔记记录。比赛使用OriginBot车模,车模搭载Ubuntu系统。以后估计主要在Ubuntu虚拟机上工作。现在需要先学习ROS2和FoxGlove。一些很基础或者很好记的东西就不写了。常用网址比赛简介(场地、车模、规则等)FoxGlove教程Or......
  • ClickHouse(22)ClickHouse集成HDFS表引擎详细解析
    HDFS这个引擎提供了与ApacheHadoop生态系统的集成,允许通过ClickHouse管理HDFS上的数据。这个引擎提供了Hadoop的特定功能。用法ENGINE=HDFS(URI,format)URI参数是HDFS中整个文件的URIformat参数指定一种可用的文件格式。执行SELECT查询时,格式必须支持输入,以及执行INSE......
  • 备忘录模式
    用一个栈保存一个对象的一系列历史状态,在需要的时候可以恢复对象定义:保存一个对象的某个状态,以便在适当的时候恢复对象,即“后悔药”类型:行为型适用场景:保存及恢复数据相关业务场景后悔的时候,即想恢复到之前的状态优点:为用户提供一种可恢复机制存档信息的封装缺点:......
  • IU5186兼容IU5180集成30V的OVP功能,3A升降压充电,1~4节锂电池
    IU5186C是一款自动申请快充输入,开关模式升降压充电管理IC,用于1~4节锂离子电池和锂聚合物电池,以及1~5节磷酸铁锂电池。芯片集成包括4开关MOSFET、输入和充电电流感应电路、电池以及升降压转换器的环路补偿。芯片具有3A的充电电流能力,充电电流可以通过外部电阻灵活可调。IU5186C内置......
  • Apipost-cli、Jenkins持续集成配置
    安装Apipost-clinpminstall-gapipost-cli运行脚本安装好Apipost-cli后,在命令行输入生成的命令,即可执行测试用例,运行完成后会展示测试进度并生成测试报告。Jenkins配置Apipostcli基于Nodejs运行需要在jenkins上配置NodeJs依赖Step1:在插件管理中安装NodeJs在全局工具中配置Nod......
  • 使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
    前言:什么是集成配置系统?集成配置系统的主要目的是将应用程序的配置信息与代码分离,使得配置信息可以在不需要修改代码的情况下进行更改。这样可以提高应用程序的灵活性和可维护性。ASP.NETCore提供了一种灵活的配置系统,可以轻松地将配置信息从不同的来源加载到应用程序中,并且......
  • Apipost-cli、Jenkins持续集成配置
    安装Apipost-clnpminstall-gapipost-cli运行脚本安装好Apipost-cli后,在命令行输入生成的命令,即可执行测试用例,运行完成后会展示测试进度并生成测试报告。Jenkins配置Apipostcli基于Nodejs运行需要在jenkins上配置NodeJs依赖Step1:在插件管理中安装NodeJs  在......