Getting started
Mundipagg API, (*1)
How to Build
The generated code has dependencies over external libraries like UniRest. These dependencies are defined in the composer.json file that comes with the SDK.
To resolve these dependencies, we use the Composer package manager which requires PHP greater than 5.3.2 installed in your system.
Visit https://getcomposer.org/download/ to download the installer file for Composer and run it in your system.
Open command prompt and type composer --version. This should display the current version of the Composer installed if the installation was successful., (*2)
- Using command line, navigate to the directory containing the generated files (including
composer.json) for the SDK.
- Run the command
composer install. This should install all the required dependencies and create the vendor directory in your project directory.
, (*3)
[For Windows Users Only] Configuring CURL Certificate Path in php.ini
CURL used to include a list of accepted CAs, but no longer bundles ANY CA certs. So by default it will reject all SSL certificates as unverifiable. You will have to get your CA's cert and point curl at it. The steps are as follows:, (*4)
- Download the certificate bundle (.pem file) from https://curl.haxx.se/docs/caextract.html on to your system.
- Add curl.cainfo = "PATH_TO/cacert.pem" to your php.ini file located in your php installation. “PATH_TO” must be an absolute path containing the .pem file.
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
;curl.cainfo =
How to Use
The following section explains how to use the MundiAPI library in a new project., (*5)
1. Open Project in an IDE
Open an IDE for PHP like PhpStorm. The basic workflow presented here is also applicable if you prefer using a different editor or IDE., (*6)
, (*7)
Click on Open in PhpStorm to browse to your generated SDK directory and then click OK., (*8)
, (*9)
2. Add a new Test Project
Create a new directory by right clicking on the solution name as shown below:, (*10)
, (*11)
Name the directory as "test", (*12)
, (*13)
Add a PHP file to this project, (*14)
, (*15)
Name it "testSDK", (*16)
, (*17)
Depending on your project setup, you might need to include composer's autoloader in your PHP code to enable auto loading of classes., (*18)
require_once "../vendor/autoload.php";
It is important that the path inside require_once correctly points to the file autoload.php inside the vendor directory created during dependency installations., (*19)
, (*20)
After this you can add code to initialize the client library and acquire the instance of a Controller class. Sample code to initialize the client library and using controller methods is given in the subsequent sections., (*21)
3. Run the Test Project
To run your project you must set the Interpreter for your project. Interpreter is the PHP engine installed on your computer., (*22)
Open Settings from File menu., (*23)
, (*24)
Select PHP from within Languages & Frameworks, (*25)
, (*26)
Browse for Interpreters near the Interpreter option and choose your interpreter., (*27)
, (*28)
Once the interpreter is selected, click OK, (*29)
, (*30)
To run your project, right click on your PHP file inside your Test project and click on Run, (*31)
, (*32)
How to Test
Unit tests in this SDK can be run using PHPUnit., (*33)
- First install the dependencies using composer including the
require-dev dependencies.
- Run
vendor\bin\phpunit --verbose from commandline to execute tests. If you have
installed PHPUnit globally, run tests using phpunit --verbose instead.
You can change the PHPUnit test configuration in the phpunit.xml file., (*34)
Initialization
Authentication
In order to setup authentication and initialization of the API client, you need the following information., (*35)
| Parameter |
Description |
| basicAuthUserName |
The username to use with basic authentication |
| basicAuthPassword |
The password to use with basic authentication |
API client can be initialized as following., (*36)
$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 Reference
List of Controllers
ChargesController
Get singleton instance
The singleton instance of the ChargesController class can be accessed from the API Client., (*37)
$charges = $client->getCharges();
getCharge
Get a charge from its id, (*38)
function getCharge($chargeId)
Parameters
| Parameter |
Tags |
Description |
| chargeId |
Required |
Charge id |
Example Usage
$chargeId = 'ch_wbnd47nCJJFKVZQy';
$result = $charges->getCharge($chargeId);
retryCharge
Retries a charge, (*39)
function retryCharge($chargeId)
Parameters
| Parameter |
Tags |
Description |
| chargeId |
Required |
Charge id |
Example Usage
$chargeId = 'charge_id';
$result = $charges->retryCharge($chargeId);
getCharges
Lists all charges, (*40)
function getCharges()
Example Usage
$result = $charges->getCharges();
createCharge
Creates a new charge, (*41)
function createCharge($request)
Parameters
| Parameter |
Tags |
Description |
| request |
Required |
Request for creating a charge |
Example Usage
$request = new CreateChargeRequest();
$result = $charges->createCharge($request);
updateChargeCard
Updates the card from a charge, (*42)
function updateChargeCard(
$chargeId,
$request)
Parameters
| Parameter |
Tags |
Description |
| chargeId |
Required |
Charge id |
| request |
Required |
Request for updating a charge's card |
Example Usage
$chargeId = 'charge_id';
$request = new UpdateChargeCardRequest();
$result = $charges->updateChargeCard($chargeId, $request);
updateChargePaymentMethod
Updates a charge's payment method, (*43)
function updateChargePaymentMethod(
$chargeId,
$request)
Parameters
| Parameter |
Tags |
Description |
| chargeId |
Required |
Charge id |
| request |
Required |
Request for updating the payment method from a charge |
Example Usage
$chargeId = 'charge_id';
$request = new UpdateChargePaymentMethodRequest();
$result = $charges->updateChargePaymentMethod($chargeId, $request);
cancelCharge
Cancel a charge, (*44)
function cancelCharge(
$chargeId,
$request = null)
Parameters
| Parameter |
Tags |
Description |
| chargeId |
Required |
Charge id |
| request |
Optional |
Request for cancelling a charge |
Example Usage
$chargeId = 'charge_id';
$request = new CreateCancelChargeRequest();
$result = $charges->cancelCharge($chargeId, $request);
captureCharge
Captures a charge, (*45)
function captureCharge(
$chargeId,
$request = null)
Parameters
| Parameter |
Tags |
Description |
| chargeId |
Required |
Charge id |
| request |
Optional |
Request for capturing a charge |
Example Usage
$chargeId = 'charge_id';
$request = new CreateCaptureChargeRequest();
$result = $charges->captureCharge($chargeId, $request);
Back to List of Controllers, (*46)
CustomersController
Get singleton instance
The singleton instance of the CustomersController class can be accessed from the API Client., (*47)
$customers = $client->getCustomers();
getAddresses
Gets all adressess from a customer, (*48)
function getAddresses($customerId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer id |
Example Usage
$customerId = 'customer_id';
$result = $customers->getAddresses($customerId);
getCards
Get all cards from a customer, (*49)
function getCards($customerId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
Example Usage
$customerId = 'customer_id';
$result = $customers->getCards($customerId);
getCustomers
Get all Customers, (*50)
function getCustomers()
Example Usage
$result = $customers->getCustomers();
createCustomer
Creates a new customer, (*51)
function createCustomer($request)
Parameters
| Parameter |
Tags |
Description |
| request |
Required |
Request for creating a customer |
Example Usage
$request = new CreateCustomerRequest();
$result = $customers->createCustomer($request);
getCustomer
Get a customer, (*52)
function getCustomer($customerId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
Example Usage
$customerId = 'customer_id';
$result = $customers->getCustomer($customerId);
updateAddress
Updates an address, (*53)
function updateAddress(
$customerId,
$addressId,
$request)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
| addressId |
Required |
Address Id |
| request |
Required |
Request for updating an address |
Example Usage
$customerId = 'customer_id';
$addressId = 'address_id';
$request = new UpdateAddressRequest();
$result = $customers->updateAddress($customerId, $addressId, $request);
updateCard
Updates a card, (*54)
function updateCard(
$customerId,
$cardId,
$request)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
| cardId |
Required |
Card id |
| request |
Required |
Request for updating a card |
Example Usage
$customerId = 'customer_id';
$cardId = 'card_id';
$request = new UpdateCardRequest();
$result = $customers->updateCard($customerId, $cardId, $request);
getAddress
Get a customer's address, (*55)
function getAddress(
$customerId,
$addressId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer id |
| addressId |
Required |
Address Id |
Example Usage
$customerId = 'customer_id';
$addressId = 'address_id';
$result = $customers->getAddress($customerId, $addressId);
deleteAddress
Delete a Customer's address, (*56)
function deleteAddress(
$customerId,
$addressId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
| addressId |
Required |
Address Id |
Example Usage
$customerId = 'customer_id';
$addressId = 'address_id';
$result = $customers->deleteAddress($customerId, $addressId);
deleteCard
Delete a customer's card, (*57)
function deleteCard(
$customerId,
$cardId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
| cardId |
Required |
Card Id |
Example Usage
$customerId = 'customer_id';
$cardId = 'card_id';
$result = $customers->deleteCard($customerId, $cardId);
createAddress
Creates a new address for a customer, (*58)
function createAddress(
$customerId,
$request)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
| request |
Required |
Request for creating an address |
Example Usage
$customerId = 'customer_id';
$request = new CreateAddressRequest();
$result = $customers->createAddress($customerId, $request);
getCard
Get a customer's card, (*59)
function getCard(
$customerId,
$cardId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer id |
| cardId |
Required |
Card id |
Example Usage
$customerId = 'customer_id';
$cardId = 'card_id';
$result = $customers->getCard($customerId, $cardId);
createCard
Creates a new card for a customer, (*60)
function createCard(
$customerId,
$request)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer id |
| request |
Required |
Request for creating a card |
Example Usage
$customerId = 'customer_id';
$request = new CreateCardRequest();
$result = $customers->createCard($customerId, $request);
updateCustomer
Updates a customer, (*61)
function updateCustomer(
$customerId,
$request)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer id |
| request |
Required |
Request for updating a customer |
Example Usage
$customerId = 'customer_id';
$request = new UpdateCustomerRequest();
$result = $customers->updateCustomer($customerId, $request);
deleteAccessTokens
Delete a Customer's access tokens, (*62)
function deleteAccessTokens($customerId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
Example Usage
$customerId = 'customer_id';
$result = $customers->deleteAccessTokens($customerId);
getAccessTokens
Get all access tokens from a customer, (*63)
function getAccessTokens($customerId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
Example Usage
$customerId = 'customer_id';
$result = $customers->getAccessTokens($customerId);
deleteAccessToken
Delete a customer's access token, (*64)
function deleteAccessToken(
$customerId,
$tokenId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
| tokenId |
Required |
Token Id |
Example Usage
$customerId = 'customer_id';
$tokenId = 'token_id';
$result = $customers->deleteAccessToken($customerId, $tokenId);
createAccessToken
Creates a access token for a customer, (*65)
function createAccessToken(
$customerId,
$request)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
| request |
Required |
Request for creating a access token |
Example Usage
$customerId = 'customer_id';
$request = new CreateAccessTokenRequest();
$result = $customers->createAccessToken($customerId, $request);
getAccessToken
Get a Customer's access token, (*66)
function getAccessToken(
$customerId,
$tokenId)
Parameters
| Parameter |
Tags |
Description |
| customerId |
Required |
Customer Id |
| tokenId |
Required |
Token Id |
Example Usage
$customerId = 'customer_id';
$tokenId = 'token_id';
$result = $customers->getAccessToken($customerId, $tokenId);
Back to List of Controllers, (*67)
SubscriptionsController
Get singleton instance
The singleton instance of the SubscriptionsController class can be accessed from the API Client., (*68)
$subscriptions = $client->getSubscriptions();
updateSubscriptionBillingDate
Updates the billing date from a subscription, (*69)
function updateSubscriptionBillingDate(
$subscriptionId,
$request)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
The subscription id |
| request |
Required |
Request for updating the subscription billing date |
Example Usage
$subscriptionId = 'subscription_id';
$request = new UpdateSubscriptionBillingDateRequest();
$result = $subscriptions->updateSubscriptionBillingDate($subscriptionId, $request);
createUsage
Creates a usage, (*70)
function createUsage(
$subscriptionId,
$itemId,
$body)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
Subscription Id |
| itemId |
Required |
Item id |
| body |
Required |
Request for creating a usage |
Example Usage
$subscriptionId = 'subscription_id';
$itemId = 'item_id';
$body = new CreateUsageRequest();
$result = $subscriptions->createUsage($subscriptionId, $itemId, $body);
updateSubscriptionItem
Updates a subscription item, (*71)
function updateSubscriptionItem(
$subscriptionId,
$itemId,
$body)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
Subscription Id |
| itemId |
Required |
Item id |
| body |
Required |
Request for updating a subscription item |
Example Usage
$subscriptionId = 'subscription_id';
$itemId = 'item_id';
$body = new UpdateSubscriptionItemRequest();
$result = $subscriptions->updateSubscriptionItem($subscriptionId, $itemId, $body);
getSubscriptions
Gets all subscriptions, (*72)
function getSubscriptions()
Example Usage
$result = $subscriptions->getSubscriptions();
updateSubscriptionCard
Updates the credit card from a subscription, (*73)
function updateSubscriptionCard(
$subscriptionId,
$request)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
Subscription id |
| request |
Required |
Request for updating a card |
Example Usage
$subscriptionId = 'subscription_id';
$request = new UpdateSubscriptionCardRequest();
$result = $subscriptions->updateSubscriptionCard($subscriptionId, $request);
createSubscription
Creates a new subscription, (*74)
function createSubscription($body)
Parameters
| Parameter |
Tags |
Description |
| body |
Required |
Request for creating a subscription |
Example Usage
$body = new CreateSubscriptionRequest();
$result = $subscriptions->createSubscription($body);
createSubscriptionItem
Creates a new Subscription item, (*75)
function createSubscriptionItem(
$subscriptionId,
$request)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
Subscription id |
| request |
Required |
Request for creating a subscription item |
Example Usage
$subscriptionId = 'subscription_id';
$request = new CreateSubscriptionItemRequest();
$result = $subscriptions->createSubscriptionItem($subscriptionId, $request);
createDiscount
Creates a discount, (*76)
function createDiscount(
$subscriptionId,
$request)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
Subscription id |
| request |
Required |
Request for creating a discount |
Example Usage
$subscriptionId = 'subscription_id';
$request = new CreateDiscountRequest();
$result = $subscriptions->createDiscount($subscriptionId, $request);
getSubscription
Gets a subscription, (*77)
function getSubscription($subscriptionId)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
Subscription id |
Example Usage
$subscriptionId = 'subscription_id';
$result = $subscriptions->getSubscription($subscriptionId);
updateSubscriptionPaymentMethod
Updates the payment method from a subscription, (*78)
function updateSubscriptionPaymentMethod(
$subscriptionId,
$request)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
Subscription id |
| request |
Required |
Request for updating the paymentmethod from a subscription |
Example Usage
$subscriptionId = 'subscription_id';
$request = new UpdateSubscriptionPaymentMethodRequest();
$result = $subscriptions->updateSubscriptionPaymentMethod($subscriptionId, $request);
getUsages
Lists all usages from a subscription item, (*79)
function getUsages(
$subscriptionId,
$itemId)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
The subscription id |
| itemId |
Required |
The subscription item id |
Example Usage
$subscriptionId = 'subscription_id';
$itemId = 'item_id';
$result = $subscriptions->getUsages($subscriptionId, $itemId);
deleteUsage
Deletes a usage, (*80)
function deleteUsage(
$subscriptionId,
$itemId,
$usageId)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
The subscription id |
| itemId |
Required |
The subscription item id |
| usageId |
Required |
The usage id |
Example Usage
$subscriptionId = 'subscription_id';
$itemId = 'item_id';
$usageId = 'usage_id';
$result = $subscriptions->deleteUsage($subscriptionId, $itemId, $usageId);
deleteDiscount
Deletes a discount, (*81)
function deleteDiscount(
$subscriptionId,
$discountId)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
Subscription id |
| discountId |
Required |
Discount Id |
Example Usage
$subscriptionId = 'subscription_id';
$discountId = 'discount_id';
$result = $subscriptions->deleteDiscount($subscriptionId, $discountId);
cancelSubscription
Cancels a subscription, (*82)
function cancelSubscription(
$subscriptionId,
$request = null)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
Subscription id |
| request |
Optional |
Request for cancelling a subscription |
Example Usage
$subscriptionId = 'subscription_id';
$request = new CreateCancelSubscriptionRequest();
$result = $subscriptions->cancelSubscription($subscriptionId, $request);
deleteSubscriptionItem
Deletes a subscription item, (*83)
function deleteSubscriptionItem(
$subscriptionId,
$subscriptionItemId)
Parameters
| Parameter |
Tags |
Description |
| subscriptionId |
Required |
Subscription id |
| subscriptionItemId |
Required |
Subscription item id |
Example Usage
$subscriptionId = 'subscription_id';
$subscriptionItemId = 'subscription_item_id';
$result = $subscriptions->deleteSubscriptionItem($subscriptionId, $subscriptionItemId);
Back to List of Controllers, (*84)
PlansController
Get singleton instance
The singleton instance of the PlansController class can be accessed from the API Client., (*85)
$plans = $client->getPlans();
getPlanItems
Gets all items from a plan, (*86)
function getPlanItems($planId)
Parameters
| Parameter |
Tags |
Description |
| planId |
Required |
Plan id |
Example Usage
$planId = 'plan_id';
$result = $plans->getPlanItems($planId);
updatePlanItem
Updates a plan item, (*87)
function updatePlanItem(
$planId,
$planItemId,
$body)
Parameters
| Parameter |
Tags |
Description |
| planId |
Required |
Plan id |
| planItemId |
Required |
Plan item id |
| body |
Required |
Request for updating the plan item |
Example Usage
$planId = 'plan_id';
$planItemId = 'plan_item_id';
$body = new UpdatePlanItemRequest();
$result = $plans->updatePlanItem($planId, $planItemId, $body);
getPlan
Gets a plan, (*88)
function getPlan($planId)
Parameters
| Parameter |
Tags |
Description |
| planId |
Required |
Plan id |
Example Usage
$planId = 'plan_id';
$result = $plans->getPlan($planId);
createPlanItem
Adds a new item to a plan, (*89)
function createPlanItem(
$planId,
$request)
Parameters
| Parameter |
Tags |
Description |
| planId |
Required |
Plan id |
| request |
Required |
Request for creating a plan item |
Example Usage
$planId = 'plan_id';
$request = new CreatePlanItemRequest();
$result = $plans->createPlanItem($planId, $request);
updatePlan
Updates a plan, (*90)
function updatePlan(
$planId,
$request)
Parameters
| Parameter |
Tags |
Description |
| planId |
Required |
Plan id |
| request |
Required |
Request for updating a plan |
Example Usage
$planId = 'plan_id';
$request = new UpdatePlanRequest();
$result = $plans->updatePlan($planId, $request);
createPlan
Creates a new plan, (*91)
function createPlan($body)
Parameters
| Parameter |
Tags |
Description |
| body |
Required |
Request for creating a plan |
Example Usage
$body = new CreatePlanRequest();
$result = $plans->createPlan($body);
getPlans
Gets all plans, (*92)
function getPlans()
Example Usage
$result = $plans->getPlans();
deletePlan
Deletes a plan, (*93)
function deletePlan($planId)
Parameters
| Parameter |
Tags |
Description |
| planId |
Required |
Plan id |
Example Usage
$planId = 'plan_id';
$result = $plans->deletePlan($planId);
getPlanItem
Gets a plan item, (*94)
function getPlanItem(
$planId,
$planItemId)
Parameters
| Parameter |
Tags |
Description |
| planId |
Required |
Plan id |
| planItemId |
Required |
Plan item id |
Example Usage
$planId = 'plan_id';
$planItemId = 'plan_item_id';
$result = $plans->getPlanItem($planId, $planItemId);
deletePlanItem
Removes an item from a plan, (*95)
function deletePlanItem(
$planId,
$planItemId)
Parameters
| Parameter |
Tags |
Description |
| planId |
Required |
Plan id |
| planItemId |
Required |
Plan item id |
Example Usage
$planId = 'plan_id';
$planItemId = 'plan_item_id';
$result = $plans->deletePlanItem($planId, $planItemId);
Back to List of Controllers, (*96)
InvoicesController
Get singleton instance
The singleton instance of the InvoicesController class can be accessed from the API Client., (*97)
$invoices = $client->getInvoices();
cancelInvoice
Cancels an invoice, (*98)
function cancelInvoice($invoiceId)
Parameters
| Parameter |
Tags |
Description |
| invoiceId |
Required |
Invoice id |
Example Usage
$invoiceId = 'invoice_id';
$result = $invoices->cancelInvoice($invoiceId);
getLastInvoiceCharge
Gets the last charge from an invoice, (*99)
function getLastInvoiceCharge($invoiceId)
Parameters
| Parameter |
Tags |
Description |
| invoiceId |
Required |
Invoice id |
Example Usage
$invoiceId = 'invoice_id';
$result = $invoices->getLastInvoiceCharge($invoiceId);
getInvoices
Gets all invoices, (*100)
function getInvoices()
Example Usage
$result = $invoices->getInvoices();
getInvoice
Gets an invoice, (*101)
function getInvoice($invoiceId)
Parameters
| Parameter |
Tags |
Description |
| invoiceId |
Required |
Invoice Id |
Example Usage
$invoiceId = 'invoice_id';
$result = $invoices->getInvoice($invoiceId);
Back to List of Controllers, (*102)
OrdersController
Get singleton instance
The singleton instance of the OrdersController class can be accessed from the API Client., (*103)
$orders = $client->getOrders();
getOrder
Gets an order, (*104)
function getOrder($orderId)
Parameters
| Parameter |
Tags |
Description |
| orderId |
Required |
Order id |
Example Usage
$orderId = 'order_id';
$result = $orders->getOrder($orderId);
getOrders
Gets all orders, (*105)
function getOrders()
Example Usage
$result = $orders->getOrders();
createOrder
Creates a new Order, (*106)
function createOrder($body)
Parameters
| Parameter |
Tags |
Description |
| body |
Required |
Request for creating an order |
Example Usage
$body = new CreateOrderRequest();
$result = $orders->createOrder($body);
Back to List of Controllers, (*107)