los/mundiapi

Mundipagg API

1.0.0 2017-08-30 15:57 UTC

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目录。

Building SDK - Step 1

[仅限Windows用户] 在php.ini中配置CURL证书路径

CURL曾经包含一个接受的可信CA列表,但现在不再捆绑任何CA证书。因此,默认情况下,它将拒绝所有SSL证书作为不可验证的。您将必须获取您CA的证书并将curl指向它。步骤如下:

  1. https://curl.haxx.se/docs/caextract.html下载证书捆绑包(.pem文件)到您的系统。
  2. 将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的情况。

Open project in PHPStorm - Step 1

在PhpStorm中点击打开,浏览到生成的SDK目录,然后点击确定

Open project in PHPStorm - Step 2

2. 添加新的测试项目

如下所示,在解决方案名称上右键单击以创建新的目录

Add a new project in PHPStorm - Step 1

将目录命名为"test"

Add a new project in PHPStorm - Step 2

向此项目添加PHP文件

Add a new project in PHPStorm - Step 3

命名为"testSDK"

Add a new project in PHPStorm - Step 4

根据您的项目设置,您可能需要在PHP代码中包含composer的自动加载器以启用类的自动加载。

require_once "../vendor/autoload.php";

重要的是确保require_once中的路径正确指向在依赖安装期间创建的vendor目录中的autoload.php文件。

Add a new project in PHPStorm - Step 4

之后,您可以向初始化客户端库并获取Controller类的实例的代码中添加代码。随后的部分提供了初始化客户端库和使用控制器方法的示例代码。

3. 运行测试项目

要运行您的项目,您必须为项目设置解释器。解释器是安装在您计算机上的PHP引擎。

文件菜单中打开设置

Run Test Project - Step 1

语言 & 框架中,选择PHP

Run Test Project - Step 2

解释器选项附近浏览解释器并选择您的解释器。

Run Test Project - Step 3

选择解释器后,点击确定

Run Test Project - Step 4

要运行您的项目,在测试项目中的PHP文件上右键单击,然后点击运行

Run Test Project - Step 5

如何测试

此SDK中的单元测试可以使用PHPUnit运行。

  1. 首先使用composer安装依赖项,包括require-dev依赖项。
  2. 从命令行运行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);

类参考

控制器列表

Class: ChargesController

获取单例实例

可以从API客户端访问ChargesController类的单例实例。

$charges = $client->getCharges();

Method: getCharge

根据ID获取费用

function getCharge($chargeId)

参数

示例用法

$chargeId = 'ch_wbnd47nCJJFKVZQy';

$result = $charges->getCharge($chargeId);

Method: retryCharge

重试费用

function retryCharge($chargeId)

参数

示例用法

$chargeId = 'charge_id';

$result = $charges->retryCharge($chargeId);

Method: getCharges

列出所有费用

function getCharges()

示例用法

$result = $charges->getCharges();

Method: createCharge

创建新的费用

function createCharge($request)

参数

示例用法

$request = new CreateChargeRequest();

$result = $charges->createCharge($request);

Method: updateChargeCard

从费用更新卡片

function updateChargeCard(
        $chargeId,
        $request)

参数

示例用法

$chargeId = 'charge_id';
$request = new UpdateChargeCardRequest();

$result = $charges->updateChargeCard($chargeId, $request);

Method: updateChargePaymentMethod

更新费用的支付方式

function updateChargePaymentMethod(
        $chargeId,
        $request)

参数

示例用法

$chargeId = 'charge_id';
$request = new UpdateChargePaymentMethodRequest();

$result = $charges->updateChargePaymentMethod($chargeId, $request);

Method: cancelCharge

取消费用

function cancelCharge(
        $chargeId,
        $request = null)

参数

示例用法

$chargeId = 'charge_id';
$request = new CreateCancelChargeRequest();

$result = $charges->cancelCharge($chargeId, $request);

Method: 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);

返回控制器列表