matxm / openpay-sdk
这是在openpay.mx上实现Openpay支付服务的客户端
Requires
- php: >=5.2.1
- ext-curl: *
- ext-hash: *
Requires (Dev)
- phpunit/phpunit: 4.8.*
- dev-master
- 3.0.3
- 3.0.2
- 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-fix_composer_url
- dev-new_composer_url
- dev-patch-1
- dev-feature/ES6-1938_Envio_de_direcciones_ip_header
- 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-develop
- dev-sdkphpv21
- dev-developer
- dev-colombia
- dev-sdkphpv2
This package is auto-updated.
Last update: 2024-09-29 09:56:53 UTC
README
Openpay API服务的PHP客户端(版本3.0.0)
这是在openpay.mx上实现Openpay支付服务的客户端
兼容性
PHP 5.2或更高版本
要求
PHP 5.2或更高版本,cURL扩展,PHP JSON扩展,PHP多字节字符串扩展
安装
在文档中添加以下内容
- composer 1: 版本php 2.1.*
- composer 2: 版本2.2.* || 版本3.0.0
Composer
首选方法是通过composer。如果您还没有安装composer,请按照安装说明进行操作。
一旦安装了composer,请在您的项目根目录中执行以下命令以安装此库
composer require matxm/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');
- 将商家ID、私钥和国家代码作为参数传递给实例生成器方法 Openpay::getInstance()
$openpay = Openpay::getInstance('MERCHANT_ID', 'PRIVATE_KEY', 'COUNTRY_CODE'); // MERCHANT_ID = moiep6umtcnanql3jrxp // PRIVATE_KEY = sk_3433941e467c1055b178ce26348b0fac // COUNTRY_CODE = MX (México), CO (Colombia), PE (Peru)
- 同时配置商家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');
在此示例中,$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 派生的资源包括:
- 卡片
- bankaccounts
- 收费
- transfers
- 支付
- suscriptions
参数
那些接收超过一个参数的方法(例如,尝试添加新客户或新客户的卡片时),必须以关联数组的形式传递。
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'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh');
获取客户列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $customer->name = 'Juan'; $customer->last_name = 'Godinez'; $customer->save();
删除客户
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $customer->delete();
卡片
在商家处
添加卡片
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $card = $openpay->cards->get('k9pn8qtsvr7k7gxoq1r5');
获取卡片列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $card = $openpay->cards->get('k9pn8qtsvr7k7gxoq1r5'); $card->delete();
在客户处
添加卡片
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $card = $customer->cards->get('k9pn8qtsvr7k7gxoq1r5');
获取卡片列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $card = $customer->cards->get('k9pn8qtsvr7k7gxoq1r5'); $card->delete();
银行账户
向客户添加银行账户
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $bankaccount = $customer->bankaccounts->get('b4vcouaavwuvkpufh0so');
获取银行账户列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $bankaccount = $customer->bankaccounts->get('b4vcouaavwuvkpufh0so'); $bankaccount->delete();
费用
在商家处
在商家处进行费用
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $charge = $openpay->charges->get('tvyfwyfooqsmfnaprsuk');
获取费用列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $captureData = array('amount' => 150.00 ); $charge = $openpay->charges->get('tvyfwyfooqsmfnaprsuk'); $charge->capture($captureData);
进行退款
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $refundData = array('description' => 'Devolución' ); $charge = $openpay->charges->get('tvyfwyfooqsmfnaprsuk'); $charge->refund($refundData);
在客户处
在客户处进行费用
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $charge = $customer->charges->get('tvyfwyfooqsmfnaprsuk');
获取费用列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $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'); $refundData = array('description' => 'Reembolso' ); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $charge = $customer->charges->get('tvyfwyfooqsmfnaprsuk'); $charge->refund($refundData);
转账
进行转账
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $transfer = $customer->transfers->get('tyxesptjtx1bodfdjmlb');
获取转账列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $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'); $payout = $openpay->payouts->get('t4tzkjspndtj9bnsop2i');
获取支付列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $payout = $customer->payouts->get('tysznlyigrkwnks6eq2c');
获取支付列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $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'); $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'); $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'); $plan = $openpay->plans->get('pduar9iitv4enjftuwyl');
获取计划列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $plan = $openpay->plans->get('pduar9iitv4enjftuwyl'); $plan->name = 'Plan Curso de Verano 2014'; $plan->save();
删除一个计划
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $plan = $openpay->plans->get('pduar9iitv4enjftuwyl'); $plan->delete();
获取一个计划的订阅者列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $subscription = $customer->subscriptions->get('s7ri24srbldoqqlfo4vp');
获取订阅列表
$openpay = Openpay::getInstance('moiep6umtcnanql3jrxp', 'sk_3433941e467c1055b178ce26348b0fac', 'MX'); $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'); $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'); $customer = $openpay->customers->get('a9ualumwnrcxkl42l6mh'); $subscription = $customer->subscriptions->get('s7ri24srbldoqqlfo4vp'); $subscription->delete();