openpay / sdk
这是在openpay.mx上实现Openpay支付服务的客户端
Requires
- php: >=5.2.1
- ext-curl: *
- ext-hash: *
Requires (Dev)
- phpunit/phpunit: 4.8.*
- dev-master
- 3.1.0
- 3.0.0.x-dev
- 3.0.0
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 1.4.2.1
- 1.3.0
- 1.2.3
- 1.2.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- dev-develop
- dev-hotfix/Error_orden_parametros
- dev-feature/ES6-1938_Envio_de_direcciones_ip_header
- dev-homologacion_version2_con_version3
- dev-hotfix/ES6-1371_Cambio_de_orden_en_requires
- dev-features/ES6-1184_actualización_certificado_cecart
- dev-Incidentes/Colombia/INCDEV-1222_No_funciona_checkout_php_2.2.1
- dev-Incidentes/Colombia/INCDEV-1222_No_funciona_checkout_php
- dev-features/add_qr_support
- dev-sdkphpv21
- dev-developer
- dev-colombia
- dev-sdkphpv2
This package is auto-updated.
Last update: 2024-09-18 19:54:05 UTC
README
Openpay API服务的PHP客户端(版本3.0.0)
这是在openpay.mx上实现Openpay支付服务的客户端
兼容性
PHP 5.2或更高版本
要求
PHP 5.2或更高版本 cURL扩展 PHP JSON扩展 PHP Multibyte String扩展
安装
在文档中添加以下内容
- composer 1 : php版本 2.1.*
- composer 2: 版本 2.2.* || 版本 3.0.0
Composer
首选方法是使用composer。如果您尚未安装composer,请按照安装说明进行操作。
安装composer后,在项目根目录中执行以下命令以安装此库
composer require openpay/sdk
最后,务必包含自动加载器
require_once '/path/to/your-project/vendor/autoload.php';
手动安装
要安装,只需
- 克隆仓库或下载库并在您的项目文件夹结构中创建一个名为“Openpay”的文件夹。如果您下载了客户端库作为压缩文件,请解压缩它并创建适当的文件夹结构。
- 在将客户端库用于的PHP脚本顶部(或在您包含其他库的部分),添加客户端库的主要脚本
require(dirname(__FILE__) . '/Openpay/Openpay.php');
注意:在上面的示例中,库位于名为Openpay的目录中,该目录位于包含客户端的PHP文件所在的同一目录中。请确保调整您项目中的路径,否则库将无法工作。
实现
配置
在开始使用库之前,将需要设置您的商户ID和私钥。有三个选项
- 使用方法**Openpay::setId()*, Openpay::setApiKey()和Openpay::setCountry()。只需将适当的参数传递给每个函数即可
Openpay::setId('moiep6umtcnanql3jrxp'); Openpay::setApiKey('sk_3433941e467c4875b178ce26348b0fac'); Openpay::setCountry('MX'); // MX, CO, PE Openpay::setPublicIp('127.0.0.1'); //Tu ip publica
- 将商户ID、私钥和国家代码作为参数传递给实例生成器方法Openpay::getInstance()
$openpay = Openpay::getInstance('MERCHANT_ID', 'PRIVATE_KEY', 'COUNTRY_CODE', 'PUBLIC_IP'); // MERCHANT_ID = moiep6umtcnanql3jrxp // PRIVATE_KEY = sk_3433941e467c1055b178ce26348b0fac // COUNTRY_CODE = MX (México), CO (Colombia), PE (Peru) //PUBLIC_IP = 127.0.0.1 (Sustituir por tu ip publica)
- 将商户ID、私钥和国家代码也配置为环境变量。这种方法有其自身的优势,因为敏感数据不会直接暴露在任一脚本中。
注意:请参阅PHP文档以获取有关此方法的更多信息。
沙盒/生产模式
为了便利和安全,客户端库默认激活沙盒模式。这允许您在实施Openpay之前测试自己的代码,而不在生产环境中扣费任何信用卡。一旦完成集成,请使用方法OpenPay::setProductionMode(FLAG)激活/禁用沙盒模式。
Openpay::setProductionMode(true);
您还可以使用环境变量为此目的
SetEnv OPENPAY_PRODUCTION_MODE true
如果需要,您可以使用方法Openpay::getProductionMode()在任何时候确定沙盒模式的状态
// will return TRUE/FALSE, depending on if sandbox mode is activated or not. Openpay::getProductionMode();
PHP客户端库简介
配置库后,您可以使用它与Openpay API服务进行交互。第一步是使用生成器获取实例
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1');
在这个例子中,$openpay将是一个商户(根)的实例,它将被用来调用任何派生子资源。根据当前版本的Openpay API,这些资源包括
- 客户
- 卡
- 收费
- 支付
- 费用
- 计划
您可以将所有这些资源作为根实例的公共变量来访问,因此,如果您想添加新客户,可以按照以下方式操作
$openpay->customers->add(PARAMETERS);
对任何资源的调用都将返回该资源的一个实例。在上面的示例中,调用资源 customers 中的 add() 方法将返回一个 Customer 实例,调用资源 cards 中的 add() 方法将返回一个 Card 实例,依此类推。唯一的例外情况是在使用 getList() 方法检索资源列表时,此时将返回一个实例数组。
// a SINGLE instance of Customer will be returned
$customer = $openpay->customers->add(PARAMETERS);
// an ARRAY of instances of Customers will be returned
customerList = $openpay->customers->getList(PARAMETERS);
另一方面,根据 Openpay API 文档,从 Customer 派生的资源有
- 卡
- 银行账户
- 收费
- 转账
- 支付
- 订阅
参数
接收多个参数的方法(例如,尝试添加新客户或新客户的卡时),必须以关联数组的形式传递。
array('PARAMETER_INTEGER' => VALUE, 'PARAMETER_STRING' => 'VALUE'); 'PARAMETER_DERIVED' => array('PARAMETER_INTEGER' => VALUE), 'PARAMETER_STRING' => 'VALUE'));
注意:请参考 Openpay API 文档以确定每个情况下接受的参数、必填参数以及可选参数。
错误处理
根据情况,Openpay API 生成多种类型的错误,为了处理这些错误,PHP 客户端实现了五种类型的异常。
- OpenpayApiTransactionError。此类包括在交易未成功完成时发生的错误:卡片被拒绝、资金不足、目标账户未激活等。
- OpenpayApiRequestError。它指的是在请求 API 时产生的错误。例如:数据请求格式无效、请求参数不正确、Openpay 内部服务器错误等。
- OpenpayApiConnectionError。这些异常是在库尝试连接到 API 但连接失败时生成的。例如:超时、域名服务器等。
- OpenpayApiAuthError。当认证数据以无效的格式指定或未在 Openpay 服务器(商户 ID 或私钥)上完全验证时产生的错误。
- OpenpayApiError。此类包括使用客户端库处理时发生的所有通用错误。
所有这些错误异常都通过以下方法提供 Openpay API 返回的所有信息
- getDescription():Openpay 服务器生成的错误描述。
- getErrorCode():Openpay 服务器生成的错误代码。当错误在请求之前生成时,此值等于零。
- getCategory():由 Openpay 服务器生成并确定的错误类别。当错误在请求之前或请求过程中生成时,此值是一个空字符串。
- getHttpCode():请求 Openpay 服务器时生成的 HTTP 错误代码。当错误在请求之前或请求过程中生成时,此值等于零。
- getRequestId():Openpay 服务器在处理请求时生成的 ID。当错误在请求之前生成时,此值是一个空字符串。
以下是一个更完整的错误捕获示例
try { Openpay::setProductionMode(true); // the following line will generate an error because the // private key is empty. The exception generated will be // a OpenpayApiAuthError $openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', '', 'MX'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $customer->name = 'Juan'; $customer->last_name = 'Godinez'; $customer->save(); } catch (OpenpayApiTransactionError $e) { error_log('ERROR on the transaction: ' . $e->getMessage() . ' [error code: ' . $e->getErrorCode() . ', error category: ' . $e->getCategory() . ', HTTP code: '. $e->getHttpCode() . ', request ID: ' . $e->getRequestId() . ']', 0); } catch (OpenpayApiRequestError $e) { error_log('ERROR on the request: ' . $e->getMessage(), 0); } catch (OpenpayApiConnectionError $e) { error_log('ERROR while connecting to the API: ' . $e->getMessage(), 0); } catch (OpenpayApiAuthError $e) { error_log('ERROR on the authentication: ' . $e->getMessage(), 0); } catch (OpenpayApiError $e) { error_log('ERROR on the API: ' . $e->getMessage(), 0); } catch (Exception $e) { error_log('Error on the script: ' . $e->getMessage(), 0); }
示例
客户
向商户添加新客户
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customerData = array( 'name' => 'Teofilo', 'last_name' => 'Velazco', 'email' => 'teofilo@payments.com', 'phone_number' => '4421112233', 'address' => array( 'line1' => 'Privada Rio No. 12', 'line2' => 'Co. El Tintero', 'line3' => '', 'postal_code' => '76920', 'state' => 'Querétaro', 'city' => 'Querétaro.', 'country_code' => 'MX')); $customer = $openpay->customers->add($customerData);
获取客户
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh');
获取客户列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $customerList = $openpay->customers->getList($findData);
更新客户
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $customer->name = 'Juan'; $customer->last_name = 'Godinez'; $customer->save();
删除客户
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $customer->delete();
卡
在商户上
添加卡
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $cardData = array( 'holder_name' => 'Luis Pérez', 'card_number' => '4111111111111111', 'cvv2' => '123', 'expiration_month' => '12', 'expiration_year' => '15', 'address' => array( 'line1' => 'Av. 5 de Febrero No. 1', 'line2' => 'Col. Felipe Carrillo Puerto', 'line3' => 'Zona industrial Carrillo Puerto', 'postal_code' => '76920', 'state' => 'Querétaro', 'city' => 'Querétaro', 'country_code' => 'MX')); $card = $openpay->cards->add($cardData);
获取卡
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $card = $openpay->cards->get('k9pn8qtsvr7k7gxoq1r5');
获取卡列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $cardList = $openpay->cards->getList($findData);
删除卡
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $card = $openpay->cards->get('k9pn8qtsvr7k7gxoq1r5'); $card->delete();
在客户上
添加卡
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $cardData = array( 'holder_name' => 'Teofilo Velazco', 'card_number' => '4916394462033681', 'cvv2' => '123', 'expiration_month' => '12', 'expiration_year' => '15', 'address' => array( 'line1' => 'Privada Rio No. 12', 'line2' => 'Co. El Tintero', 'line3' => '', 'postal_code' => '76920', 'state' => 'Querétaro', 'city' => 'Querétaro.', 'country_code' => 'MX')); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $card = $customer->cards->add($cardData);
获取卡
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $card = $customer->cards->get('k9pn8qtsvr7k7gxoq1r5');
获取卡列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $cardList = $customer->cards->getList($findData);
删除卡
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $card = $customer->cards->get('k9pn8qtsvr7k7gxoq1r5'); $card->delete();
银行账户
向客户添加银行账户
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $bankData = array( 'clabe' => '072910007380090615', 'alias' => 'Cuenta principal', 'holder_name' => 'Teofilo Velazco'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $bankaccount = $customer->bankaccounts->add($bankData);
获取银行账户
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $bankaccount = $customer->bankaccounts->get('b4vcouaavwuvkpufh0so');
获取银行账户列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $bankaccountList = $customer->bankaccounts->getList($findData);
删除银行账户
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $bankaccount = $customer->bankaccounts->get('b4vcouaavwuvkpufh0so'); $bankaccount->delete();
收费
在商户上
对商户进行收费
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $chargeData = array( 'method' => 'card', 'source_id' => 'krfkkmbvdk3hewatruem', 'amount' => 100, 'description' => 'Cargo inicial a mi merchant', 'order_id' => 'ORDEN-00071'); $charge = $openpay->charges->create($chargeData);
获取收费
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $charge = $openpay->charges->get('tvyfwyfooqsmfnaprsuk');
获取收费列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $chargeList = $openpay->charges->getList($findData);
进行捕获
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $captureData = array('amount' => 150.00 ); $charge = $openpay->charges->get('tvyfwyfooqsmfnaprsuk'); $charge->capture($captureData);
进行退款
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $refundData = array('description' => 'Devolución' ); $charge = $openpay->charges->get('tvyfwyfooqsmfnaprsuk'); $charge->refund($refundData);
在客户上
对客户进行收费
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $chargeData = array( 'source_id' => 'tvyfwyfooqsmfnaprsuk', 'method' => 'card', 'amount' => 100, 'description' => 'Cargo inicial a mi cuenta', 'order_id' => 'ORDEN-00070'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $charge = $customer->charges->create($chargeData);
获取收费
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $charge = $customer->charges->get('tvyfwyfooqsmfnaprsuk');
获取收费列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $chargeList = $customer->charges->getList($findData);
进行捕获
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $captureData = array('amount' => 150.00 ); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $charge = $customer->charges->get('tvyfwyfooqsmfnaprsuk'); $charge->capture($captureData);
进行退款
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $refundData = array('description' => 'Reembolso' ); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $charge = $customer->charges->get('tvyfwyfooqsmfnaprsuk'); $charge->refund($refundData);
转账
进行转账
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $transferData = array( 'customer_id' => 'aqedin0owpu0kexr2eor', 'amount' => 12.50, 'description' => 'Cobro de Comisión', 'order_id' => 'ORDEN-00061'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $transfer = $customer->transfers->create($transferData);
获取转账
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $transfer = $customer->transfers->get('tyxesptjtx1bodfdjmlb');
获取转账列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $transferList = $customer->transfers->getList($findData);
支付
在商户上
对商户进行支付
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $payoutData = array( 'method' => 'card', 'destination_id' => 'krfkkmbvdk3hewatruem', 'amount' => 500, 'description' => 'Retiro de saldo semanal', 'order_id' => 'ORDEN-00072'); $payout = $openpay->payouts->create($payoutData);
获取支付
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $payout = $openpay->payouts->get('t4tzkjspndtj9bnsop2i');
获取支付列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $payoutList = $openpay->payouts->getList($findData);
在客户上
为客户进行支付
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $payoutData = array( 'method' => 'card', 'destination_id' => 'k9pn8qtsvr7k7gxoq1r5', 'amount' => 1000, 'description' => 'Retiro de saldo semanal', 'order_id' => 'ORDEN-00062'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $payout = $customer->payouts->create($payoutData);
获取支付
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $payout = $customer->payouts->get('tysznlyigrkwnks6eq2c');
获取支付列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $payoutList = $customer->payouts->getList($findData);
费用
进行费用收费
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $feeData = array( 'customer_id' => 'a9ualumwnrcxkl42l6mh', 'amount' => 12.50, 'description' => 'Cobro de Comisión', 'order_id' => 'ORDEN-00063'); $fee = $openpay->fees->create($feeData);
获取已收费费用列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $feeList = $openpay->fees->getList($findData);
计划
添加计划
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $planData = array( 'amount' => 150.00, 'status_after_retry' => 'cancelled', 'retry_times' => 2, 'name' => 'Plan Curso Verano', 'repeat_unit' => 'month', 'trial_days' => '30', 'repeat_every' => '1', 'currency' => 'MXN'); $plan = $openpay->plans->add($planData);
获取计划
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $plan = $openpay->plans->get('pduar9iitv4enjftuwyl');
获取计划列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $planList = $openpay->plans->getList($findData);
更新计划
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $plan = $openpay->plans->get('pduar9iitv4enjftuwyl'); $plan->name = 'Plan Curso de Verano 2014'; $plan->save();
删除计划
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $plan = $openpay->plans->get('pduar9iitv4enjftuwyl'); $plan->delete();
获取计划订阅者列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $plan = $openpay->plans->get($planId); $subscriptionList = $plan->subscriptions->getList($findData);
订阅
添加订阅
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $subscriptionData = array( "trial_end_date":"2014-01-01", 'plan_id' => 'pduar9iitv4enjftuwyl', 'card_id' => 'konvkvcd5ih8ta65umie'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $subscription = $customer->subscriptions->add($subscriptionData);
查看文档获取更多关于创建订阅的详细信息。
获取订阅
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $subscription = $customer->subscriptions->get('s7ri24srbldoqqlfo4vp');
获取订阅列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $findData = array( 'creation[gte]' => '2013-01-01', 'creation[lte]' => '2013-12-31', 'offset' => 0, 'limit' => 5); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $subscriptionList = $customer->subscriptions->getList($findData);
更新订阅
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $subscription = $customer->subscriptions->get('s7ri24srbldoqqlfo4vp'); $subscription->trial_end_date = '2014-12-31'; $subscription->save();
删除订阅
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX', '127.0.0.1'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $subscription = $customer->subscriptions->get('s7ri24srbldoqqlfo4vp'); $subscription->delete();