开发指南

快速入门

功能概述

Adapay 是一款在线支付工具,聚合了支付宝、微信等主流支付渠道,为商户提供一站式支付解决方案。通过使用 Adapay 提供的 SDK 可以快速且便捷的接入支付及其他支付相关的增值服务。

Adapay 对外提供了 Server SDK 与 Client SDK,其中 Server SDK 包含 Java、PHP、Python、Nodejs 语言版本,Client SDK 包含 iOS、Android、JS、微信小程序版本。

接入准备

您需先完成以下步骤后才能开始接入 SDK 进行开发:

1.注册 Adapay 账号

2.极速入网

3.参数配置

详情参见 接入指引

开发接入步骤

步骤一:获取 API Key

Adapay 系统提供的 API Key 有两种,分别对应 Adapay 系统开发环境的 Prod模式 与 Mock模式。

  • Prod Key

在您已经完成签约和渠道入驻的前提下,您可以使用 Prod Key 直接完成第三方渠道的真实付款。

  • Mock Key

在您还未完成渠道入驻的情况下,您可以使用 Mock Key 先跑通支付流程,Mock模式 的支付页面是 Adapay 提供的模拟页面,直接点击对应的状态按钮即可完成模拟付款。

步骤二:上传交易公钥

Adapay 系统进行交易请求时,会通过 RSA 密钥进行加密签名,以保证报文安全。加密密钥为您本地生成的 RSA 私钥,Adapay 服务端解密使用对应公钥。您需将公钥上传到 控制台 的「商户信息管理」–>「证书管理」–>「商户 RSA 公钥」。

:相应的 RSA 私钥您需要妥善保管。

RSA 密钥生成方法参考帮助中心 - 证书生成

步骤三:接入服务端 SDK

下载对应语言 服务端 SDK

安装部署并发起请求,将交易请求结果返回给前端。

(为快速接入 SDK,建议不做任何修改先运行一 SDK 下载包内的 demo 代码,如 demo 运行没问题说明本地环境没问题,再进行商户相关配置 apikey,RSA 私钥,appid等修改,修改后运行没问题,最后再进行相关业务代码修改)

具体接入方式参见 SDK 使用文档:

步骤四:接入客户端 SDK

下载对应语言 客户端 SDK。 在您的客户端项目中接入 SDK,并请求您的服务端拿到交易对象,调用 SDK 完成支付。

具体接入方式参见 SDK 使用文档::

步骤五:接收异步消息通知

配置服务端异步消息结果通知,来接收交易结果的事件。具体方式参见各版本服务端 SDK 使用文档。

步骤六:确认交易结果

根据具体场景,在指定时间没有获取到异步消息结果通知的前提下,通过查询接口获取交易结果。

自助服务

自助联调工具说明

Adapay 自助联调提供 Adapay API 联调功能,开发者能快速体验 Adapay 功能。

首先,开发者能在一分钟内完成支付全流程,且无学习成本。

以支付宝为例:

1、点击调试 Adapay 支付接口,能快速生成支付宝二维码,这时开发者用支付宝 App 扫一扫,能快速完成一分钱付款。

2、如果要进入开发者模式,点击开发者模式,先用 Android 手机下载 Adapay demo App,然后进入 App -> 自助联调 扫一扫,完成一分钱付款。

其次,完成支付后,开发者可以快速完成关单、退款等 Adapay 其它功能调试体验。

最后,我们准备了可以运行的几行示例代码,包括 java、php 和 python 等。开发者可以拷贝它们到自己工程中,快速接入 Adapay。

快速体验

工单系统使用说明

若您在使用中有任何的问题或建议,您可在控台右上角提交工单反馈,Adapay 技术工程师会及时跟进,并将结果第一时间反馈给您,您可在“我的工单”中查看工单处理进度。

考试重点知识

1.APIKEY是商户身份码与商户的公钥、商户的APPID是一一匹配,任何一个错误都是导致交易发起失败

2.签名与验证过程:商户服务端SDK利用商户的私钥进行签名后发送给Adapay,Adapay用商户公钥验证签名;Adapay用自己的私钥对响应签名,商户用Adapay的公钥验证。整个过程使用两对秘钥

3.APPID,控制台主页可以查看添加,可用于隔离交易(一般用不到),交易下挂到APPID下

4.RSA秘钥:1024,PKCS8。不支持其他格式

5.SDK签名验证:只需要配置秘钥等,其他无需再去变动

6.支付与结算是通过账户关联,故无法在结算中关联支付交易。结算情况请使用 结算查询 接口查询

7.结算失败常见原因:银行卡错误、省份地区错误、风控拦截、二类银行卡超限

8.prod对于api_live。mock对于api_test,有些情况mock环境没有办法mock

9.SDK我们提供了服务端的SDK与前端的SDK(前端SDK可以不用,商户自己实现)