- 集成指南
- 实施 Batch 集成
- 发送批处理请求
发送批处理请求
有许多组件可以确保交易请求正文安全地发送到 eGenius Platform。 此部分逐一介绍集成中可能需要使用的概念和功能。
上传批量请求
批处理文件通过 HTTP 使用安全套接层 (SSL) 协议采用 HTTP PUT 方法提交。 此部分包含用 shell 脚本语言编写的示例代码段。 有关示例集成代码,请参阅 下载 部分。
连接 URL
连接 URL 包含识别 Batch 版本(与 API 版本相同)、商家识别码和批处理名称的连接 URL。
https://egenius.unicredit.ro/batch/version/<versionNum>/merchant/<merchantId>/batch/<batchName>
其中:
- <versionNum> 是 Batch 的版本
- <merchantId> 是商家识别码
- <batchName> 是批处理的唯一名称
# Configuration: Batch application
VERSION_NUM=72
HB_HOST="https://egenius.unicredit.ro/batch"; # Configuration: Merchant MERCHANT_ID="<YOUR_MERCHANT_ID>"
MERCHANT_PASSWORD="<YOUR_MERCHANT_PASSWORD>" CONNECT_URL="$HB_HOST/version/$VERSION_NUM/merchant/$MERCHANT_ID/batch/"
如果您将批处理请求提交至格式不正确的 URL,您将被重定向到显示有关如何设定请求格式的信息的登录页面。
https://egenius.unicredit.ro/batch
身份验证数据
eGenius Platform 要求每个批量请求都必须经过成功身份验证。 下方代码段介绍如何为每个批处理请求提供身份验证数据(商家 ID 和 API 密码)。
此代码段显示如何在程序中设置凭据。
# Configuration: Batch application
VERSION_NUM=72
HB_HOST="https://egenius.unicredit.ro/batch"; # Configuration: Merchant
MERCHANT_ID="<YOUR_MERCHANT_ID>"
MERCHANT_PASSWORD="<YOUR_MERCHANT_PASSWORD>" # Configuration: Advanced
CONNECT_URL="$HB_HOST/version/$VERSION_NUM/merchant/$MERCHANT_ID/batch/"
HTTP_HEADERS="Authorization: Basic `echo -n :$MERCHANT_PASSWORD | base64`"$'\n'" Content-Type: text/plain; charset=UTF-8"
HTTP 标头
HTTP 标头提供有关发送至 eGenius Platform 的批处理请求的元数据信息。 此段演示必须为每个批处理请求设置的强制 HTTP 标头(除“身份验证数据”下提到的所有身份验证标头外,还必须设置此处列出的标头(如果适用))。
请求的字符编码必须只包含 ISO-8859-1(Latin1) 或 UTF-8 格式。 请参见确保字符编码。
此代码段显示如何在程序中设置 HTTP 标头。
HTTP_HEADERS="Authorization: Basic `echo -n :$MERCHANT_PASSWORD | base64`"$'\n' "Content-Type: text/plain; charset=UTF-8"
上传消息完整性代码
Batch 需要您通过提供消息完整性代码 (MIC) 进行验证来确认您上载的批处理的完整性。 MIC 必须通过创建包含 CSV NVP 批处理数据的完全上载的请求主体的 SHA-1 摘要来计算,且必须是 HEX 编码。
MIC 上载的工作原理如下:
- 将批处理上载到 Batch 服务。
- 通过将 HTTPS POST 请求发送到以下 URL(请求主体采用 MIC HEX 编码)将 MIC 上载到 Batch 服务。
- <versionNum> 是 Batch 的版本
- <merchantId> 是商家识别码
- <batchName> 是批处理的唯一名称
- Batch 根据上传的批次验证所提供的 MIC,如果匹配,则接受该批次进行处理。 如果 MIC 不匹配,则假设批处理已损坏。 批处理将被删除并需要重新上载。
其中: