maxiPago! 智能支付 - 我们支付网关的 PHP 库

dev-master 2018-08-31 21:10 UTC

This package is auto-updated.

Last update: 2024-09-06 23:57:42 UTC


README

这个 PHP 库允许轻松集成 maxiPago! 智能支付 API。我们的支付平台使在线商家能够在拉丁美洲和美国的许多国家接受支付,包括自动定期账单、“一键”支付、在线退货、信用卡支付对账、欺诈工具等功能。您可以通过访问www.maxipago.com了解更多关于 maxiPago! 的信息。

这个库包含了目前通过我们的基于 XML 的 API 可用的所有功能,并可由商家和开发者自由复制和使用。

您可以通过查看我们的文档来了解我们的 API 的更全面情况,文档可以在此下载。如果您正在寻找托管支付页面解决方案,请参阅文档中的 smartPages! 部分。

可用的交易类型

  • 授权:检查所使用的信用卡是否有效(卡号、安全码和有效期),以及持卡人是否有足够的资金进行此次购买。

  • 捕获:确认之前进行的授权并完成交易。如果交易从未被捕获,商家将不会收到资金,持卡人也不会被收费。

将授权和捕获分开在不同的时刻进行是检查您是否有库存的商品或进行欺诈检查的好方法,同时仍然保证支付。

  • 销售:将授权和捕获合并到单个请求中。在进行销售时,我们发送信用卡进行授权,并立即捕获该交易,如果批准的话。

  • 取消:取消交易,不会从买家那里扣除任何费用。您只能在捕获当天晚上 11:59 之前取消交易。

  • 退货:撤销信用卡交易,从商家处扣除资金并退还给买家。这可能是一项可能需要几天时间才能完成的财务操作,具体取决于您的信用卡处理器。

  • 定期:安排信用卡交易在商家定义的特定间隔内收费。

  • 已保存的卡信息:在我们的系统中保存一张卡并返回一个唯一的令牌,该令牌可用于处理未来的交易。这允许实现“一键”支付。

  • Boleto: (仅限巴西)使用 Boletos 进行的交易与信用卡购买不同。这会创建一个 boleto 并返回一个 URL 给买家,以便访问付款收据。在 boleto 过期前和过期后 60 天内都可以访问。

安装和设置

该库已在 PHP 5.1.6 及以上版本 上进行了测试,并包括以下文件

  /lib/  
  |-- maxiPago.php  
  |-- maxipago  
    |-- maxiPagoRequest.php  
    |-- maxiPagoRequestBase.php  
    |-- maxiPagoResponseBase.php  
    |-- maxiPagoServiceBase.php  
    |-- maxiPagoTransaction.php  
    |-- maxiPagoXmlHandler.php

/lib/maxipago/ 复制到您的本地服务器。在您的代码中,包含 maxiPago.php 文件,该文件检查最小要求并包含其他必需的文件

require_once "./lib/maxiPago.php"

现在,从 maxiPago 类创建一个新的对象

$maxiPago = new maxiPago;

环境和凭证

为了发送请求,您需要有效的商家凭证。这些凭证可以通过我们的客户支持团队获得。

maxiPago! 提供了一个完全功能沙箱环境来模拟交易响应。您需要设置将发送交易的环境,这可以通过发送 "TEST""LIVE" 来完成。

设置用于处理请求的凭证和环境

$maxiPago->setCredentials("100", "merchant_key");
$maxiPago->setEnvironment("TEST");

日志和调试模式

2013年6月,将Kenny Katzgrau的KLogger添加到此库,允许商家自动记录交易的请求和响应,符合PCI标准。

要启用日志记录,请使用setLogger()方法,并确保您的日志文件目录权限正确。默认日志级别为INFO

    $maxiPago->setLogger(dirname(__FILE__).'/logs','INFO');

调试模式会打印请求和响应的XML,以便您轻松识别请求中的任何问题。要启用调试,请使用setDebug()方法

	$maxiPago->setDebug(true);

请求

要向maxiPago!发送请求,您需要调用上述列出的其中一个方法,并传递包含请求参数的数组,如下所示

	$data = array(
		"processorID" => "1",
		"referenceNum" => "ORDER2937283",
		"chargeTotal" => "10.00",
		"number" => "4111111111111111",
		"expMonth" => "07",
		"expYear" => "2017",
		"cvvNumber" => "123"
	);
	
	$maxiPago->creditCardAuth($data);

响应

有方法可以获取响应中的每一项信息。但是,您也可以调用getResult()方法来检索响应中的所有字段,作为一个数组

	print_r($maxiPago->getResult());
	
	Array
	(
	    [authCode] => 123456
	    [orderID] => 0AF90437:013CC42DDE87:F5D0:01E1101A
	    [referenceNum] => ORD29328493
	    [transactionID] => 422570
	    [transactionTimestamp] => 1312156800
	    [responseCode] => 0
	    [responseMessage] => AUTHORIZED
	    [avsResponseCode] =>
	    [cvvResponseCode] =>
	    [processorCode] => A
	    [processorMessage] => APPROVED
	    [errorMessage] => 
	)

所有请求方法

#####信用卡交易#####

  • 授权:creditCardAuth()
  • 捕获:creditCardCapture()
  • 销售(授权+捕获):creditCardSale()
  • 自动保存卡片:creditCardAuth()或creditCardSale()
  • 取消:creditCardVoid()
  • 退款:creditCardRefund()

#####循环交易#####

  • 创建循环信用卡账单:createRecurring()
  • 取消循环账单:cancelRecurring()

#####Boleto交易#####

  • 创建Boleto付款单(仅限巴西):boletoSale()

#####报告#####

  • 查询单个交易:pullReport()
  • 查询交易列表:pullReport()
  • 翻页查看交易列表:pullReport()
  • 查询待处理报告:pullReport()

#####客户资料/卡片信息#####

  • 创建资料(必须创建资料以保存卡片):addProfile()
  • 更新资料:updateProfile()
  • 删除资料:deleteProfile()
  • 添加信用卡:addCreditCard()
  • 删除信用卡:deleteCreditCard()

所有响应方法

#####请求验证器#####

  • 检查请求中是否有错误:isErrorResponse()
  • 检查请求是否成功:isTransactionResponse()

#####主要交易响应方法#####

  • 获取响应代码(交易/订单):getResponseCode()
  • 获取授权代码(如果有回复):getAuthCode()
  • 获取创建的订单ID:getOrderID()
  • 获取创建的交易ID:getTransactionID()
  • 获取Boleto发行的URL(仅限巴西):getBoletoUrl()
  • 获取处理器代码:getProcessorCode()
  • 获取处理器参考号:getProcessorReferenceNumber()
  • 获取处理器交易ID:getProcessorTransactionID()
  • 获取包含所有响应字段的数组:getResult()

#####其他交易响应方法#####

  • 获取AVS响应代码(仅限美国):getAvsResponseCode()
  • 获取请求中使用的命令:getCommand()
  • 获取创建的客户ID:getCustomerId()
  • 获取CVV响应代码(仅限美国):getCvvResponseCode()
  • 获取欺诈评分分析:getFraudScore()
  • 获取响应信息:getMessage()
  • 获取报告的页数:getNumberOfPages()
  • 获取报告的当前页:getPageNumber()
  • 获取报告的页令牌:getPageToken()
  • 获取交易列表作为数组:getReportResult()
  • 获取报告的时间:getTime()
  • 获取创建的信用卡令牌:getToken()
  • 获取报告中的交易数:getTotalNumberOfRecords()
  • 获取交易的Unix时间:getTransactionTimestamp()

文档和支持

maxiPago!的完整API文档可以在此找到.

我们的支持团队很高兴帮助您解答任何疑问,无论是关于我们平台的功能,还是关于一般支付的问题。他们向客户和非客户都开放,可以通过support [@] maxipago [.] com联系到他们。

许可证

maxiPago! 支付网关集成的库
版权(C)2013,maxiPago!

本程序是自由软件:您可以自由地重新分发和/或修改它,前提是您遵守自由软件基金会根据GNU通用公共许可证(GPL)发布的条款,许可证版本为3,或者(根据您的选择)任何后续版本。

本程序的分发是希望它可能有用,但没有任何保证;甚至没有关于其商业性或适用于特定目的的暗示性保证。有关详细信息,请参阅GNU通用公共许可证。

您应该已经随本程序收到了GNU通用公共许可证的一个副本。如果没有,请参阅https://gnu.ac.cn/licenses/