zardo / maxipago

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

此包的规范仓库似乎已消失,因此该包已被冻结。

dev-master 2014-04-11 17:29 UTC

This package is not auto-updated.

Last update: 2024-01-20 11:54:27 UTC


README

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

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

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

可用的交易类型

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

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

在两个不同时刻分离授权和捕获是检查您是否有库存的商品或执行欺诈检查的绝佳方法,同时仍保证付款。

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

  • 取消:取消交易,不对买家收费。您只能在捕获当天晚上11:59之前取消交易。

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

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

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

  • Boleto: (仅限巴西) 使用Boleto进行的交易与信用卡购买不同。这将创建一个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文档可在此处找到.

我们的支持团队乐于帮助您解答任何疑问,无论是关于我们平台的功能性还是关于支付的一般问题。他们向客户和非客户 alike 提供服务,可通过 support [@] maxipago [.] com 联系。

许可

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

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

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

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