netpay / omnipay-netpay
NetPay 支付网关 Omnipay 插件
Requires
- omnipay/common: ~2.0
Requires (Dev)
- omnipay/tests: ~2.0
This package is not auto-updated.
Last update: 2024-09-14 18:09:46 UTC
README
网关设置
基本网关创建代码
$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();