versa / maxipago

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

v0.1.3 2023-06-06 19:35 UTC

This package is auto-updated.

Last update: 2024-09-06 22:11:22 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交易#####

  • 创建 Boletto 支付单(仅限巴西): 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/