leonardo-max/api-maxipago

maxiPago! 智能支付 - PHP支付网关库

dev-master 2024-02-23 05:41 UTC

This package is auto-updated.

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


README

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

此库具有目前通过我们的基于XML的API提供的所有功能,并且可以由商家和开发者免费复制和使用。

您可以通过查看我们的文档,此处可下载,来获取对我们API的更全面了解。如果您正在寻找托管支付页面解决方案,请参阅文档中的 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()

#####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通用公共许可证的条款重新分发和/或修改它,无论是许可证的第3版,还是(根据您的选择)任何更高版本。

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

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