leonardo-max/maxipago

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

dev-main 2022-08-02 00:06 UTC

This package is auto-updated.

Last update: 2024-09-30 01:41:09 UTC


README

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

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

您可以通过查看我们的文档来获取对API的更全面了解,文档可以在此下载:http://www.maxipago.com/docs/maxiPago_API_Latest.pdf。如果您正在寻找托管支付页面解决方案,请参阅文档中的 smartPages! 部分。

可用的交易类型

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

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

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

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

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

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

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

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

  • Boleto: (仅限巴西)使用Boleto进行的交易与信用卡购买不同。这会创建一个Boleto,并返回一个URL给买家以访问Boleto支付凭证。在任何时间点都可以访问,直到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()

#####票证交易#####

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

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

  • 查询单个交易: pullReport()
  • 查询交易列表: pullReport()
  • 浏览交易列表的页面: pullReport()
  • 查询待处理报告: pullReport()

#####客户档案/已存卡片#####

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

所有响应方法

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

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

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

  • 获取响应代码(交易/订单): getResponseCode()
  • 获取授权代码(如有响应): getAuthCode()
  • 获取创建的订单 ID: getOrderID()
  • 获取创建的交易 ID: getTransactionID()
  • 获取发行的票证 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通用公共许可证的条款下重新分发和/或修改它,无论是许可证的第3版,还是(根据您的选择)任何较新版本。

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

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