worldline/sips-payment-sdk

该包已被废弃且不再维护。没有建议的替代包。

该库简化了使用Sips 2.0,电子支付API。

1.0.7 2021-03-08 09:08 UTC

This package is not auto-updated.

Last update: 2023-06-26 20:25:21 UTC


README

⚠️ 自2021年6月30日起,sips-atos.com的URL将停止工作。它们已被sips-services.com的URL所替代。请确保更新到1.0.7或更高版本以避免问题。

Sips 库

该包为Worldline电子支付网关Sips提供PHP实现。

⚠️ 该库是为Sips 2.0编写的,与Sips 1.0不兼容!

安装

推荐通过 Composer 安装此Sips库。

运行Composer命令安装最新稳定版本的包

composer require worldline/sips-payment-sdk

安装包后,您需要引入Composer的自动加载器

require 'vendor/autoload.php';

使用

💡 目前该库仅支持Sips在支付页面模式。

初始化

首先,使用您的商户ID、密钥版本和密钥创建所需环境的客户端。

//these parameters should not be hardcoded.
$sipsClient = new SipsClient(
    new SipsEnvironment("SIMU"), 
    "002001000000001", 
    "002001000000001_KEY1",
    1
    );

接下来,设置请求以在Sips服务器上初始化会话。

$paypageRequest = new PaypageRequest();
$paypageRequest->setAmount(200);
$paypageRequest->setCurrencyCode("EUR");
$paypageRequest->setNormalReturnUrl('http://lib.wl.be//return.php');
$paypageRequest->setOrderChannel("INTERNET");

添加交易的唯一引用。

$paypageRequest->setTransactionReference("myUniqueIdentifier");

💡 如果您没有提供引用,插件将生成一个。

最后,将请求提交到服务器以初始化交易。

$initializationResponse = $sipsClient->initialize($paypageRequest);

从服务器收到的initializationResponse包含继续处理交易所需的所有信息。如果您的初始化成功,您的响应将包含redirectionStatusCode = '00'

重定向到支付页面

如果您的初始化成功,您必须使用收到的redirectionUrl执行包含redirectionData和seal作为参数的POST请求。由于这应该将客户重定向到Sips支付页面,最干净的例子是一个简单的HTML表单

<form action="<?= $sipsResponse->getRedirectionUrl() ?>">
    <input type="hidden" name="redirectionVersion" value="<?= $sipsResponse->getRedirectionVersion() ?>">
    <input type="hidden" name="redirectionData" value="<?= $sipsResponse->getRedirectionData() ?>">
    <input type="submit" value="Go to PayPage">
</form>

验证支付

当客户完成操作后,他可以返回您的应用程序。这是通过表单完成的,通过向初始化支付时提供的normalReturnUrl发送POST请求来实现。该POST请求包含有关支付的详细信息。您可以简单地解码这些响应,并通过调用finalizeTransaction函数创建一个PaypageResult对象

$sipsClient = new SipsClient( new SipsEnvironment("SIMU"), "002001000000001", "002001000000001_KEY1", 1 );
$paypageResponse = $sipsClient->finalizeTransaction();

⚠️ 由于客户不总是会重定向回(例如,他关闭了确认页面),包含一个automaticResponseUrl是一个好习惯。即使客户没有重定向回您的网站,Sips也会将交易的详细信息POST到这个URL。