los / mundiapi
Mundipagg API
Requires
- php: >=5.4.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- apimatic/jsonmapper: ~1.2.0
- mashape/unirest-php: ~3.0.1
Requires (Dev)
- phpunit/phpunit: 4.8.*
- squizlabs/php_codesniffer: ^2.7
This package is auto-updated.
Last update: 2024-08-26 03:31:08 UTC
README
Mundipagg API
如何构建
生成的代码依赖于外部库,如UniRest。这些依赖关系在SDK提供的composer.json
文件中定义。要解决这些依赖关系,我们需要在您的系统中安装PHP版本大于5.3.2的Composer包管理器。请访问https://getcomposer.org.cn/download/下载Composer安装程序文件,并在您的系统中运行它。打开命令提示符并输入composer --version
。如果安装成功,这应该会显示已安装的Composer的当前版本。
- 使用命令行,导航到包含生成的SDK文件(包括
composer.json
)的目录。 - 运行
composer install
命令。这应该在您的项目目录中安装所有必需的依赖关系并创建vendor
目录。
[仅限Windows用户] 在php.ini中配置CURL证书路径
CURL曾经包含一个接受的可信CA列表,但现在不再捆绑任何CA证书。因此,默认情况下,它将拒绝所有SSL证书作为不可验证的。您将必须获取您CA的证书并将curl指向它。步骤如下:
- 从https://curl.haxx.se/docs/caextract.html下载证书捆绑包(.pem文件)到您的系统。
- 将curl.cainfo = "PATH_TO/cacert.pem"添加到您的php.ini文件中,该文件位于您的php安装目录。 “PATH_TO”必须是一个包含.pem文件的绝对路径。
[curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. ;curl.cainfo =
如何使用
以下部分解释了如何在新的项目中使用MundiAPI库。
1. 在IDE中打开项目
打开PHP的IDE,如PhpStorm。这里展示的基本工作流程也适用于您更喜欢使用不同编辑器或IDE的情况。
在PhpStorm中点击打开
,浏览到生成的SDK目录,然后点击确定
。
2. 添加新的测试项目
如下所示,在解决方案名称上右键单击以创建新的目录
将目录命名为"test"
向此项目添加PHP文件
命名为"testSDK"
根据您的项目设置,您可能需要在PHP代码中包含composer的自动加载器以启用类的自动加载。
require_once "../vendor/autoload.php";
重要的是确保require_once中的路径正确指向在依赖安装期间创建的vendor目录中的autoload.php
文件。
之后,您可以向初始化客户端库并获取Controller类的实例的代码中添加代码。随后的部分提供了初始化客户端库和使用控制器方法的示例代码。
3. 运行测试项目
要运行您的项目,您必须为项目设置解释器。解释器是安装在您计算机上的PHP引擎。
从文件
菜单中打开设置
。
在语言 & 框架
中,选择PHP
。
在解释器
选项附近浏览解释器并选择您的解释器。
选择解释器后,点击确定
要运行您的项目,在测试项目中的PHP文件上右键单击,然后点击运行
如何测试
此SDK中的单元测试可以使用PHPUnit运行。
- 首先使用composer安装依赖项,包括
require-dev
依赖项。 - 从命令行运行
vendor\bin\phpunit --verbose
以执行测试。如果您已全局安装PHPUnit,则使用phpunit --verbose
运行测试。
您可以在phpunit.xml
文件中更改PHPUnit测试配置。
初始化
身份验证
为了设置API客户端的认证和初始化,您需要以下信息。
API客户端可以按以下方式初始化。
$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication $basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication $client = new MundiAPILib\MundiAPIClient($basicAuthUserName, $basicAuthPassword);
类参考
控制器列表
- ChargesController
- CustomersController
- SubscriptionsController
- PlansController
- InvoicesController
- OrdersController
ChargesController
获取单例实例
可以从API客户端访问ChargesController
类的单例实例。
$charges = $client->getCharges();
getCharge
根据ID获取费用
function getCharge($chargeId)
参数
示例用法
$chargeId = 'ch_wbnd47nCJJFKVZQy'; $result = $charges->getCharge($chargeId);
retryCharge
重试费用
function retryCharge($chargeId)
参数
示例用法
$chargeId = 'charge_id'; $result = $charges->retryCharge($chargeId);
getCharges
列出所有费用
function getCharges()
示例用法
$result = $charges->getCharges();
createCharge
创建新的费用
function createCharge($request)
参数
示例用法
$request = new CreateChargeRequest(); $result = $charges->createCharge($request);
updateChargeCard
从费用更新卡片
function updateChargeCard( $chargeId, $request)
参数
示例用法
$chargeId = 'charge_id'; $request = new UpdateChargeCardRequest(); $result = $charges->updateChargeCard($chargeId, $request);
updateChargePaymentMethod
更新费用的支付方式
function updateChargePaymentMethod( $chargeId, $request)
参数
示例用法
$chargeId = 'charge_id'; $request = new UpdateChargePaymentMethodRequest(); $result = $charges->updateChargePaymentMethod($chargeId, $request);
cancelCharge
取消费用
function cancelCharge( $chargeId, $request = null)
参数
示例用法
$chargeId = 'charge_id'; $request = new CreateCancelChargeRequest(); $result = $charges->cancelCharge($chargeId, $request);
captureCharge
扣款费用
function captureCharge( $chargeId, $request = null)
参数
示例用法
$chargeId = 'charge_id'; $request = new CreateCaptureChargeRequest(); $result = $charges->captureCharge($chargeId, $request);
CustomersController
获取单例实例
可以通过API客户端访问CustomersController
类的单例实例。
$customers = $client->getCustomers();
getAddresses
从客户那里获取所有地址
function getAddresses($customerId)
参数
示例用法
$customerId = 'customer_id'; $result = $customers->getAddresses($customerId);
getCards
获取客户的所有卡
function getCards($customerId)
参数
示例用法
$customerId = 'customer_id'; $result = $customers->getCards($customerId);
getCustomers
获取所有客户
function getCustomers()
示例用法
$result = $customers->getCustomers();
createCustomer
创建新的客户
function createCustomer($request)
参数
示例用法
$request = new CreateCustomerRequest(); $result = $customers->createCustomer($request);
getCustomer
获取客户
function getCustomer($customerId)
参数
示例用法
$customerId = 'customer_id'; $result = $customers->getCustomer($customerId);
updateAddress
更新地址
function updateAddress( $customerId, $addressId, $request)
参数
示例用法
$customerId = 'customer_id'; $addressId = 'address_id'; $request = new UpdateAddressRequest(); $result = $customers->updateAddress($customerId, $addressId, $request);
updateCard
更新卡
function updateCard( $customerId, $cardId, $request)
参数
示例用法
$customerId = 'customer_id'; $cardId = 'card_id'; $request = new UpdateCardRequest(); $result = $customers->updateCard($customerId, $cardId, $request);
getAddress
获取客户的地址
function getAddress( $customerId, $addressId)
参数
示例用法
$customerId = 'customer_id'; $addressId = 'address_id'; $result = $customers->getAddress($customerId, $addressId);
deleteAddress
删除客户的地址
function deleteAddress( $customerId, $addressId)
参数
示例用法
$customerId = 'customer_id'; $addressId = 'address_id'; $result = $customers->deleteAddress($customerId, $addressId);
deleteCard
删除客户的卡片
function deleteCard( $customerId, $cardId)
参数
示例用法
$customerId = 'customer_id'; $cardId = 'card_id'; $result = $customers->deleteCard($customerId, $cardId);
createAddress
为客户创建新地址
function createAddress( $customerId, $request)
参数
示例用法
$customerId = 'customer_id'; $request = new CreateAddressRequest(); $result = $customers->createAddress($customerId, $request);
getCard
获取客户的卡片
function getCard( $customerId, $cardId)
参数
示例用法
$customerId = 'customer_id'; $cardId = 'card_id'; $result = $customers->getCard($customerId, $cardId);
createCard
为客户创建新卡片
function createCard( $customerId, $request)
参数
示例用法
$customerId = 'customer_id'; $request = new CreateCardRequest(); $result = $customers->createCard($customerId, $request);
updateCustomer
更新客户信息
function updateCustomer( $customerId, $request)
参数
示例用法
$customerId = 'customer_id'; $request = new UpdateCustomerRequest(); $result = $customers->updateCustomer($customerId, $request);
deleteAccessTokens
删除客户的访问令牌
function deleteAccessTokens($customerId)
参数
示例用法
$customerId = 'customer_id'; $result = $customers->deleteAccessTokens($customerId);
getAccessTokens
获取客户的全部访问令牌
function getAccessTokens($customerId)
参数
示例用法
$customerId = 'customer_id'; $result = $customers->getAccessTokens($customerId);
deleteAccessToken
删除客户的访问令牌
function deleteAccessToken( $customerId, $tokenId)
参数
示例用法
$customerId = 'customer_id'; $tokenId = 'token_id'; $result = $customers->deleteAccessToken($customerId, $tokenId);
createAccessToken
为客户创建访问令牌
function createAccessToken( $customerId, $request)
参数
示例用法
$customerId = 'customer_id'; $request = new CreateAccessTokenRequest(); $result = $customers->createAccessToken($customerId, $request);
getAccessToken
获取客户的访问令牌
function getAccessToken( $customerId, $tokenId)
参数
示例用法
$customerId = 'customer_id'; $tokenId = 'token_id'; $result = $customers->getAccessToken($customerId, $tokenId);
SubscriptionsController
获取单例实例
可以从API客户端访问SubscriptionsController
类的单例实例。
$subscriptions = $client->getSubscriptions();
updateSubscriptionBillingDate
更新订阅的计费日期
function updateSubscriptionBillingDate( $subscriptionId, $request)
参数
示例用法
$subscriptionId = 'subscription_id'; $request = new UpdateSubscriptionBillingDateRequest(); $result = $subscriptions->updateSubscriptionBillingDate($subscriptionId, $request);
createUsage
创建使用情况
function createUsage( $subscriptionId, $itemId, $body)
参数
示例用法
$subscriptionId = 'subscription_id'; $itemId = 'item_id'; $body = new CreateUsageRequest(); $result = $subscriptions->createUsage($subscriptionId, $itemId, $body);
updateSubscriptionItem
更新订阅项
function updateSubscriptionItem( $subscriptionId, $itemId, $body)
参数
示例用法
$subscriptionId = 'subscription_id'; $itemId = 'item_id'; $body = new UpdateSubscriptionItemRequest(); $result = $subscriptions->updateSubscriptionItem($subscriptionId, $itemId, $body);
getSubscriptions
获取所有订阅
function getSubscriptions()
示例用法
$result = $subscriptions->getSubscriptions();
updateSubscriptionCard
更新订阅的信用卡
function updateSubscriptionCard( $subscriptionId, $request)
参数
示例用法
$subscriptionId = 'subscription_id'; $request = new UpdateSubscriptionCardRequest(); $result = $subscriptions->updateSubscriptionCard($subscriptionId, $request);
createSubscription
创建新的订阅
function createSubscription($body)
参数
示例用法
$body = new CreateSubscriptionRequest(); $result = $subscriptions->createSubscription($body);
createSubscriptionItem
创建新的订阅项
function createSubscriptionItem( $subscriptionId, $request)
参数
示例用法
$subscriptionId = 'subscription_id'; $request = new CreateSubscriptionItemRequest(); $result = $subscriptions->createSubscriptionItem($subscriptionId, $request);
createDiscount
创建折扣
function createDiscount( $subscriptionId, $request)
参数
示例用法
$subscriptionId = 'subscription_id'; $request = new CreateDiscountRequest(); $result = $subscriptions->createDiscount($subscriptionId, $request);
getSubscription
获取订阅
function getSubscription($subscriptionId)
参数
示例用法
$subscriptionId = 'subscription_id'; $result = $subscriptions->getSubscription($subscriptionId);
updateSubscriptionPaymentMethod
更新订阅的支付方式
function updateSubscriptionPaymentMethod( $subscriptionId, $request)
参数
示例用法
$subscriptionId = 'subscription_id'; $request = new UpdateSubscriptionPaymentMethodRequest(); $result = $subscriptions->updateSubscriptionPaymentMethod($subscriptionId, $request);
getUsages
列出订阅项的所有使用情况
function getUsages( $subscriptionId, $itemId)
参数
示例用法
$subscriptionId = 'subscription_id'; $itemId = 'item_id'; $result = $subscriptions->getUsages($subscriptionId, $itemId);
deleteUsage
删除使用情况
function deleteUsage( $subscriptionId, $itemId, $usageId)
参数
示例用法
$subscriptionId = 'subscription_id'; $itemId = 'item_id'; $usageId = 'usage_id'; $result = $subscriptions->deleteUsage($subscriptionId, $itemId, $usageId);
deleteDiscount
删除折扣
function deleteDiscount( $subscriptionId, $discountId)
参数
示例用法
$subscriptionId = 'subscription_id'; $discountId = 'discount_id'; $result = $subscriptions->deleteDiscount($subscriptionId, $discountId);
cancelSubscription
取消订阅
function cancelSubscription( $subscriptionId, $request = null)
参数
示例用法
$subscriptionId = 'subscription_id'; $request = new CreateCancelSubscriptionRequest(); $result = $subscriptions->cancelSubscription($subscriptionId, $request);
deleteSubscriptionItem
删除订阅项
function deleteSubscriptionItem( $subscriptionId, $subscriptionItemId)
参数
示例用法
$subscriptionId = 'subscription_id'; $subscriptionItemId = 'subscription_item_id'; $result = $subscriptions->deleteSubscriptionItem($subscriptionId, $subscriptionItemId);
PlansController
获取单例实例
API客户端可以访问PlansController
类的单例实例。
$plans = $client->getPlans();
getPlanItems
获取计划中的所有项目
function getPlanItems($planId)
参数
示例用法
$planId = 'plan_id'; $result = $plans->getPlanItems($planId);
updatePlanItem
更新计划项目
function updatePlanItem( $planId, $planItemId, $body)
参数
示例用法
$planId = 'plan_id'; $planItemId = 'plan_item_id'; $body = new UpdatePlanItemRequest(); $result = $plans->updatePlanItem($planId, $planItemId, $body);
getPlan
获取计划
function getPlan($planId)
参数
示例用法
$planId = 'plan_id'; $result = $plans->getPlan($planId);
createPlanItem
向计划添加新项目
function createPlanItem( $planId, $request)
参数
示例用法
$planId = 'plan_id'; $request = new CreatePlanItemRequest(); $result = $plans->createPlanItem($planId, $request);
updatePlan
更新计划
function updatePlan( $planId, $request)
参数
示例用法
$planId = 'plan_id'; $request = new UpdatePlanRequest(); $result = $plans->updatePlan($planId, $request);
createPlan
创建新计划
function createPlan($body)
参数
示例用法
$body = new CreatePlanRequest(); $result = $plans->createPlan($body);
getPlans
获取所有计划
function getPlans()
示例用法
$result = $plans->getPlans();
deletePlan
删除计划
function deletePlan($planId)
参数
示例用法
$planId = 'plan_id'; $result = $plans->deletePlan($planId);
getPlanItem
获取计划项目
function getPlanItem( $planId, $planItemId)
参数
示例用法
$planId = 'plan_id'; $planItemId = 'plan_item_id'; $result = $plans->getPlanItem($planId, $planItemId);
deletePlanItem
从计划中移除项目
function deletePlanItem( $planId, $planItemId)
参数
示例用法
$planId = 'plan_id'; $planItemId = 'plan_item_id'; $result = $plans->deletePlanItem($planId, $planItemId);
InvoicesController
获取单例实例
可以通过API客户端访问的 InvoicesController
类的单例实例。
$invoices = $client->getInvoices();
cancelInvoice
取消发票
function cancelInvoice($invoiceId)
参数
示例用法
$invoiceId = 'invoice_id'; $result = $invoices->cancelInvoice($invoiceId);
getLastInvoiceCharge
从发票中获取最后一条充电记录
function getLastInvoiceCharge($invoiceId)
参数
示例用法
$invoiceId = 'invoice_id'; $result = $invoices->getLastInvoiceCharge($invoiceId);
getInvoices
获取所有发票
function getInvoices()
示例用法
$result = $invoices->getInvoices();
getInvoice
获取一条发票
function getInvoice($invoiceId)
参数
示例用法
$invoiceId = 'invoice_id'; $result = $invoices->getInvoice($invoiceId);
OrdersController
获取单例实例
从API客户端可以访问OrdersController
类的单例实例。
$orders = $client->getOrders();
getOrder
获取一个订单
function getOrder($orderId)
参数
示例用法
$orderId = 'order_id'; $result = $orders->getOrder($orderId);
getOrders
获取所有订单
function getOrders()
示例用法
$result = $orders->getOrders();
createOrder
创建一个新的订单
function createOrder($body)
参数
示例用法
$body = new CreateOrderRequest(); $result = $orders->createOrder($body);