netpay/omnipay-netpay

NetPay 支付网关 Omnipay 插件

2.0.2 2016-06-29 09:19 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:09:46 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

网关设置

基本网关创建代码

$gateway = Omnipay::create('NetPay_Api');

在网关中,你可以设置以下选项

允许你在测试环境中测试你的代码

$gateway->setTestMode(TRUE);

如果你的端点与默认端点不同,你可以使用以下函数来设置

$gateway->setLiveEndpoint($liveUrl);
$gateway->setTestEndpoint($testUrl);

你可以使用以下函数设置你的商户凭证

$gateway->setMerchantId($merchant_id);
$gateway->setUsername($username);
$gateway->setPassword($password);

你可以使用以下函数设置连接的 SSL 认证

$gateway->setCertificatePath($path_to_cert);
$gateway->setCertificateKeyPath($path_to_key);
$gateway->setCertificatePassword($cert_password);

实现的网关功能

使用卡片数据进行的交易可以按照以下方式完成

$response = $gateway->purchase(array('amount' => '10.00', 'currency' => 'GBP', 'card' => $card))->send();
$response = $gateway->authorize(array('amount' => '10.00', 'currency' => 'GBP', 'card' => $card))->send();

你可以在任何之前的请求上使用以下函数来获取支付的订单 ID

$orderId = $response->getOrderId();
$response = $gateway->capture(array('amount' => '10.00', 'currency' => 'GBP', 'orderId' => $orderId))->send();
$response = $gateway->refund(array('amount' => '10.00', 'currency' => 'GBP', 'orderId' => $orderId))->send();

你可以在任何之前的请求上使用以下函数来获取支付的交易 ID

$transactionId = $response->getTransactionId();

$response = $gateway->retrieveTransaction(array('transactionId' => $transactionId, 'orderId' => $orderId))->send();
$response = $gateway->void(array('voidTransactionId' => $transactionId, 'orderId' => $orderId))->send();

交易 ID 也可以从捕获、退款和撤销请求中检索。

对于令牌交易,可以使用以下方法

当保存卡片时,永久令牌在卡片到期时过期,临时令牌在创建后一小时过期

$response = $gateway->createCard(array('card' => $card, 'tokenPermanent' => TRUE))->send();

你可以按照以下方式从之前的请求中检索创建的令牌

$token = $response->getToken();

删除保存的卡片

$response = $gateway->deleteCard(array('token' => $token))->send();

检索存储的卡片信息

$response = $gateway->retrieveCard(array('token' => $token))->send();

使用保存的令牌进行交易

$response = $gateway->purchase(array('amount' => '10.00', 'currency' => 'GBP', 'token' => $token, 'cvv' => $cvv))->send();
$response = $gateway->authorize(array('amount' => '10.00', 'currency' => 'GBP', 'token' => $token, 'cvv' => $cvv))->send();

以下方法可以在所有请求中使用

在成功交易时返回 TRUE,在错误时返回 FALSE

$response->isSuccessful();

如果有可读性消息,则返回人类可读的消息,如果没有,则返回 NULL

$response->getMessage();

以下函数适用于购买、授权、捕获、退款、撤销和检索交易方法,如果数据不可用,则返回 NULL

由收单行生成的值,总结了提议操作的成功与否。

$response->getCode();

由发卡行在收到转账资金提议时生成的值。

$response->getAuthorizationCode();

参考检索号(RRN)是由收单行为特定商户交易生成的唯一号码。RRN 可用于从收单行检索交易数据。

$response->getReceipt();

成功交易的唯一订单 ID。

$response->getOrderId();

为该订单成功授权的金额。

$response->getTotalAuthorizedAmount();

为该订单成功捕获的金额。

$response->getTotalCapturedAmount();

为该订单成功退回的金额。

$response->getRefundedAmount();

提议操作成功与否的摘要。在响应.gateway_code 下查看 https://developer.netpay.co.uk/api/transaction/v1#collapseThree?retrieve_transaction_response 下的代码列表

$response->getGatewayCode();

由发卡机构生成的收单方 CSC 响应代码。

$response->getCSCCode();

生成的卡安全码结果,以指示提供的数据是否与持卡人发卡行的数据匹配。在 https://developer.netpay.co.uk/api/transaction/v1#collapseThree?retrieve_transaction_response 下的响应.cardsecurity.gateway_code 下查看代码列表

$response->getCSCGatewayCode();

由发卡机构生成的收单方 AVS 响应代码。

$response->getAVSCode();

生成的地址验证结果,以指示提供的数据是否与持卡人发卡行的数据匹配。在 https://developer.netpay.co.uk/api/transaction/v1#collapseThree?retrieve_transaction_response 下的响应.cardholder_verification.avs_gateway_code 下查看代码列表

$response->getAVSGatewayCode();