From 9eb1050ea224201a4069b082630eac81f286fcb1 Mon Sep 17 00:00:00 2001 From: Tim Oladoyinbo Date: Fri, 19 Feb 2021 10:38:35 +0100 Subject: [PATCH] doc links update and added new endpoints --- CHANGELOG.md | 8 ++++++++ src/Bank.php | 22 ++++++++++++++++++---- src/BulkCharge.php | 25 +++++++++++++++++++++---- src/Charge.php | 25 ++++++++++++++++++++----- src/Customer.php | 22 ++++++++++++++++++---- src/Dispute.php | 10 +++++----- src/Integration.php | 4 ++-- src/Invoice.php | 10 +++++----- src/PaymentPage.php | 4 ++-- src/Settlement.php | 2 +- src/Subscription.php | 4 ++-- src/Transaction.php | 29 ++++++++++++++++++++++------- src/Transfer.php | 8 ++++---- src/TransferRecipient.php | 15 ++++++++++++++- src/Verification.php | 8 ++++++++ 15 files changed, 150 insertions(+), 46 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f4f6e1..7030256 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to `paystack-php` will be documented in this file +## v1.0.3 - 2021-02-19 +- Updated doc links to match the new API docs +- Added `Bank::resolveBvnPremium(string $bvn)` method +- Added `BulkCharge::fetchBulkChargeBatch(string $id_or_code, $params = nul)` method +- Added `Charge::submitAddress(array $params)` method +- Added `Transaction::checkAuthorization(array $params)` method +- Added `TransferRecipient::createBulk(array $params)` method + ## v1.0.2 - 2020-06-18 - Removed redundant ApiErrorException Exception - Fixed UnexpectedValueException Exception namespace to be psr-4 compliant diff --git a/src/Bank.php b/src/Bank.php index fab8137..e2113d4 100644 --- a/src/Bank.php +++ b/src/Bank.php @@ -9,7 +9,7 @@ class Bank extends ApiResource /** * @param string $bvn * - * @link https://developers.paystack.co/reference#resolve-bvn + * @link https://paystack.com/docs/api/#verification-resolve-bvn * * @return array|object */ @@ -21,10 +21,24 @@ public static function resolveBvn(string $bvn) return static::staticRequest('GET', $url); } + /** + * @param string $bvn + * @return array|object + * @throws Exceptions\InvalidArgumentException + * @throws Exceptions\IsNullException + * @link https://paystack.com/docs/api/#verification-resolve-bvn-premium + */ + public static function resolveBvnPremium(string $bvn) + { + $url = "identity/bvn/resolve/{$bvn}"; + + return static::staticRequest('GET', $url); + } + /** * @param array $params * - * @link https://developers.paystack.co/reference#match-bvn + * @link https://paystack.com/docs/api/#verification-match-bvn * * @return array|object */ @@ -39,7 +53,7 @@ public static function bvnMatch($params) /** * @param array $params * - * @link https://developers.paystack.co/reference#resolve-account-number + * @link https://paystack.com/docs/api/#verification-resolve-account * * @return array|object */ @@ -54,7 +68,7 @@ public static function resolveAccountNumber($params) /** * @param string $bin * - * @link https://developers.paystack.co/reference#resolve-card-bin + * @link https://paystack.com/docs/api/#verification-resolve-card * * @return array|object */ diff --git a/src/BulkCharge.php b/src/BulkCharge.php index 980e424..0960612 100644 --- a/src/BulkCharge.php +++ b/src/BulkCharge.php @@ -18,7 +18,7 @@ class BulkCharge extends ApiResource * * @return array | Object * - * @link https://developers.paystack.co/reference#initiate-bulk-charge + * @link https://paystack.com/docs/api/#bulk-charge-initiate */ public static function initiate($reference, $params) { @@ -28,11 +28,28 @@ public static function initiate($reference, $params) return static::staticRequest('POST', $url); } + /** + * @param string $id_or_code + * @param null $params + * @return array|object + * @throws Exceptions\InvalidArgumentException + * @throws Exceptions\IsNullException + * @link https://paystack.com/docs/api/#bulk-charge-fetch-batch + */ + public static function fetchBulkChargeBatch($id_or_code, $params = null) + { + self::validateParams($params); + $url = "{$id_or_code}"; + $url = static::buildQueryString($url, $params); + + return static::staticRequest('GET', $url); + } + /** * @param string $batch_id_or_code An ID or code for the batch whose charges you want to retrieve. * @param array $params * - * @link https://developers.paystack.co/reference#fetch-charges-in-a-batch + * @link https://paystack.com/docs/api/#bulk-charge-fetch-charge * * @return array | Object */ @@ -48,7 +65,7 @@ public static function fetchChargesInABatch($batch_id_or_code, $params = null) /** * @param string $batch_code * - * @link https://developers.paystack.co/reference#pause-bulk-charge-batch + * @link https://paystack.com/docs/api/#bulk-charge-pause * * @return array | Object */ @@ -63,7 +80,7 @@ public static function pause($batch_code) /** * @param string $batch_code * - * @link https://developers.paystack.co/reference#resume-bulk-charge-batch + * @link https://paystack.com/docs/api/#bulk-charge-resume * * @return array|object */ diff --git a/src/Charge.php b/src/Charge.php index 387d585..476cebe 100644 --- a/src/Charge.php +++ b/src/Charge.php @@ -17,7 +17,7 @@ class Charge extends ApiResource /** * @param array $params * - * @link https://developers.paystack.co/reference#submit-pin + * @link https://paystack.com/docs/api/#charge-submit-pin * * @return array|object */ @@ -32,7 +32,7 @@ public static function submitPin($params) /** * @param array $params * - * @link https://developers.paystack.co/reference#submit-otp + * @link https://paystack.com/docs/api/#charge-submit-otp * * @return array|object */ @@ -47,7 +47,7 @@ public static function submitOtp($params) /** * @param array $params * - * @link https://developers.paystack.co/reference#submit-phone + * @link https://paystack.com/docs/api/#charge-submit-phone * * @return array|object */ @@ -62,7 +62,7 @@ public static function submitPhone($params) /** * @param array $params dates in the format 2016-09-21 * - * @link https://developers.paystack.co/reference#submit-birthday + * @link https://paystack.com/docs/api/#charge-submit-birthday * * @return array|object */ @@ -74,10 +74,25 @@ public static function submitBirthday($params) return static::staticRequest('POST', $url, $params); } + /** + * @param array $params + * + * @link https://paystack.com/docs/api/#charge-submit-address + * + * @return array|object + */ + public static function submitAddress($params) + { + self::validateParams($params, true); + $url = static::endPointUrl('submit_address'); + + return static::staticRequest('POST', $url, $params); + } + /** * @param string $reference Charge reference to check * - * @link https://developers.paystack.co/reference#check-pending-charge + * @link https://paystack.com/docs/api/#charge-check * * @return array|object */ diff --git a/src/Customer.php b/src/Customer.php index efb311c..bd74340 100644 --- a/src/Customer.php +++ b/src/Customer.php @@ -11,6 +11,20 @@ class Customer extends ApiResource use ApiOperations\Fetch; use ApiOperations\Update; + /** + * @param $customerCode + * @return array|object + * @throws Exceptions\InvalidArgumentException + * @throws Exceptions\IsNullException + * @link https://paystack.com/docs/api/#customer-validate + */ + public static function validate($customerCode) + { + $url = static::classUrl().'/{$customerCode}/identification'; + + return static::staticRequest('POST', $url); + } + /** * @param array $params containing the customer code of the customer to white/black list and * one can be one of the possible risk actions: @@ -22,14 +36,14 @@ class Customer extends ApiResource * * @return array|object * - * @link https://developers.paystack.co/reference#whiteblacklist-customer + * @link https://paystack.com/docs/api/#customer-whitelist-blacklist */ public static function whiteOrBlackList($params) { self::validateParams($params); $url = static::classUrl().'/set_risk_action'; - return static::staticRequest('post', $url, $params); + return static::staticRequest('POST', $url, $params); } /** @@ -40,13 +54,13 @@ public static function whiteOrBlackList($params) * * @return array|object * - * @link https://developers.paystack.co/reference#deactivate-authorization + * @link https://paystack.com/docs/api/#customer-deactivate-authorization */ public static function deactivateAuthorization($params) { self::validateParams($params); $url = static::classUrl().'/deactivate_authorization'; - return static::staticRequest('post', $url, $params, 'arr'); + return static::staticRequest('POST', $url, $params, 'arr'); } } diff --git a/src/Dispute.php b/src/Dispute.php index 9c584c7..053f120 100644 --- a/src/Dispute.php +++ b/src/Dispute.php @@ -13,7 +13,7 @@ class Dispute extends ApiResource /** * @param string $transaction_id * - * @link https://developers.paystack.co/reference#list-transaction-disputes + * @link https://paystack.com/docs/api/#dispute-transaction * * @return array|object */ @@ -29,7 +29,7 @@ public static function listTransactionDisputes(string $transaction_id) * @param string $dispute_id * @param array $params * - * @link https://developers.paystack.co/reference#add-evidence + * @link https://paystack.com/docs/api/#dispute-evidence * * @return array|object */ @@ -45,7 +45,7 @@ public static function addEvidence(string $dispute_id, $params) /** * @param string $dispute_id * - * @link https://developers.paystack.co/reference#get-upload-url + * @link https://paystack.com/docs/api/#dispute-upload-url * * @return array|object */ @@ -61,7 +61,7 @@ public static function getUploadUrl(string $dispute_id) * @param string $dispute_id * @param array $params * - * @link https://developers.paystack.co/reference#resolve-dispute + * @link https://paystack.com/docs/api/#dispute-resolve * * @return array|object */ @@ -77,7 +77,7 @@ public static function resolve(string $dispute_id, $params) /** * @param array $params * - * @link https://developers.paystack.co/reference#export-disputes + * @link https://paystack.com/docs/api/#dispute-export * * @return array|object */ diff --git a/src/Integration.php b/src/Integration.php index 19ecf6b..7600792 100644 --- a/src/Integration.php +++ b/src/Integration.php @@ -9,7 +9,7 @@ class Integration extends ApiResource /** * Paystack Documentation Reference. * - * @link https://developers.paystack.co/reference#fetch-payment-session-timeout + * @link https://paystack.com/docs/api/#control-panel-fetch-timeout * * @return array|object */ @@ -24,7 +24,7 @@ public static function fetchPaymentSessionTimeout() * @param $params the time before stopping session (in seconds). Set to 0 to cancel session timeouts * Paystack Documentation Reference * - * @link https://developers.paystack.co/reference#update-payment-session-timeout + * @link https://paystack.com/docs/api/#control-panel-update-timeout * * @return array|object */ diff --git a/src/Invoice.php b/src/Invoice.php index 4449989..7f81123 100644 --- a/src/Invoice.php +++ b/src/Invoice.php @@ -14,7 +14,7 @@ class Invoice extends ApiResource /** * @param string $invoice_code details at * - * @link https://developers.paystack.co/reference#verify-invoice + * @link https://paystack.com/docs/api/#invoice-verify * * @return array|object */ @@ -35,7 +35,7 @@ public static function verify(string $invoice_code) * * @return array|object * - * @link https://developers.paystack.co/reference#send-notification + * @link https://paystack.com/docs/api/#invoice-send-notification */ public static function notify(string $invoice_id, $params) { @@ -48,7 +48,7 @@ public static function notify(string $invoice_id, $params) /** * Get invoice totals for dashboard. * - * @link https://developers.paystack.co/reference#get-invoice-metrics-for-dashboard + * @link https://paystack.com/docs/api/#invoice-total * * @throws Exceptions\InvalidArgumentException * @throws Exceptions\IsNullException @@ -71,7 +71,7 @@ public static function totals() * * @return array|object * - * @link https://developers.paystack.co/reference#finalize-a-draft-invoice + * @link https://paystack.com/docs/api/#invoice-finalize */ public static function finalize($invoice_id, $params = null) { @@ -91,7 +91,7 @@ public static function finalize($invoice_id, $params = null) * * @return array|object * - * @link https://developers.paystack.co/reference#archive-invoice + * @link https://paystack.com/docs/api/#invoice-archive */ public static function archive($invoice_id, $params) { diff --git a/src/PaymentPage.php b/src/PaymentPage.php index 36f6d9a..fc2cd98 100644 --- a/src/PaymentPage.php +++ b/src/PaymentPage.php @@ -14,7 +14,7 @@ class PaymentPage extends ApiResource /** * @param string $slug details at * - * @link https://developers.paystack.co/reference#check-slug-availability + * @link https://paystack.com/docs/api/#page-check-slug * * @return array|object */ @@ -30,7 +30,7 @@ public static function checkSlugAvailability($slug) * @param string $page_id * @param array $params details at * - * @link https://developers.paystack.co/reference#add-products + * @link https://paystack.com/docs/api/#page-add-products * * @return array|object */ diff --git a/src/Settlement.php b/src/Settlement.php index 5b4aee8..d1849c8 100644 --- a/src/Settlement.php +++ b/src/Settlement.php @@ -12,7 +12,7 @@ class Settlement extends ApiResource * @param string $settlement_id * @param array $params * - * @link https://developers.paystack.co/reference#fetch-settlement-transactions + * @link https://paystack.com/docs/api/#settlement-transactions * * @return array|object */ diff --git a/src/Subscription.php b/src/Subscription.php index 13b16b5..f984563 100644 --- a/src/Subscription.php +++ b/src/Subscription.php @@ -13,7 +13,7 @@ class Subscription extends ApiResource /** * @param array $params details at * - * @link https://developers.paystack.co/reference#disable-subscription + * @link https://paystack.com/docs/api/#subscription-disable * * @return array|object */ @@ -28,7 +28,7 @@ public static function disable($params) /** * @param array $params details at * - * @link https://developers.paystack.co/reference#enable-subscription + * @link https://paystack.com/docs/api/#subscription-enable * * @return array|object */ diff --git a/src/Transaction.php b/src/Transaction.php index c412c03..290714f 100644 --- a/src/Transaction.php +++ b/src/Transaction.php @@ -12,7 +12,7 @@ class Transaction extends ApiResource /** * @param array $params details at * - * @link https://developers.paystack.co/reference#initialize-a-transaction + * @link https://paystack.com/docs/api/#transaction-initialize * * @return array|object */ @@ -27,7 +27,7 @@ public static function initialize($params) /** * @param string $reference details at * - * @link https://developers.paystack.co/reference#verify-transaction + * @link https://paystack.com/docs/api/#transaction-verify * * @return array|object */ @@ -42,7 +42,7 @@ public static function verify($reference) /** * @param array $params details of parameter content at * - * @link https://developers.paystack.co/reference#charge-authorization + * @link https://paystack.com/docs/api/#transaction-charge-authorization * * @return array|object */ @@ -54,10 +54,25 @@ public static function chargeAuthorization($params) return static::staticRequest('POST', $url, $params); } + /** + * @param array $params details of parameter content at + * + * @link https://paystack.com/docs/api/#transaction-check-authorization + * + * @return array|object + */ + public static function checkAuthorization($params) + { + self::validateParams($params, true); + $url = static::endPointUrl('check_authorization'); + + return static::staticRequest('POST', $url, $params); + } + /** * @param string $transaction_id details at * - * @link https://developers.paystack.co/reference#view-transaction-timeline + * @link https://paystack.com/docs/api/#transaction-view-timeline * * @return array|object */ @@ -71,7 +86,7 @@ public static function timeline($transaction_id) /** * @param array $params details at * - * @link https://developers.paystack.co/reference#transaction-totals + * @link https://paystack.com/docs/api/#transaction-totals * * @return array|object */ @@ -86,7 +101,7 @@ public static function totals($params) /** * @param array $params details at * - * @link https://developers.paystack.co/reference#export-transactions + * @link https://paystack.com/docs/api/#transaction-export * * @return array|object */ @@ -116,7 +131,7 @@ public static function requestReauthorization($params) /** * @param array $params details at * - * @link https://developers.paystack.co/reference#partial-debit + * @link https://paystack.com/docs/api/#transaction-partial-debit * * @return array|object */ diff --git a/src/Transfer.php b/src/Transfer.php index aafba67..dd404a2 100644 --- a/src/Transfer.php +++ b/src/Transfer.php @@ -12,7 +12,7 @@ class Transfer extends ApiResource /** * @param array $params * - * @link https://developers.paystack.co/reference#initiate-transfer + * @link https://paystack.com/docs/api/#transfer-initiate * * @return array|object */ @@ -27,7 +27,7 @@ public static function initiate($params) /** * @param string $reference Transfer reference. Details at * - * @link https://developers.paystack.co/reference#verify-transfer + * @link https://paystack.com/docs/api/#transfer-verify * * @return array|object */ @@ -42,7 +42,7 @@ public static function verify($reference) /** * @param array $params * - * @link https://developers.paystack.co/reference#finalize-transfer + * @link https://paystack.com/docs/api/#transfer-finalize * * @return array|object */ @@ -57,7 +57,7 @@ public static function finalize($params) /** * @param array $params * - * @link https://developers.paystack.co/reference#initiate-bulk-transfer + * @link https://paystack.com/docs/api/#transfer-bulk * * @return array|object */ diff --git a/src/TransferRecipient.php b/src/TransferRecipient.php index 4def864..3fbd974 100644 --- a/src/TransferRecipient.php +++ b/src/TransferRecipient.php @@ -10,10 +10,23 @@ class TransferRecipient extends ApiResource use ApiOperations\Create; use ApiOperations\Update; + /** + * @param array $batch + * + * @link https://paystack.com/docs/api/#transfer-recipient-bulk + * + * @return array|object + */ + public static function createBulk($batch) + { + $url = static::endPointUrl('bulk'); + return static::staticRequest('POST', $url, $batch); + } + /** * @param $recipient_code * - * @link https://developers.paystack.co/reference#delete-transfer-recipient + * @link https://paystack.com/docs/api/#transfer-recipient-delete * * @return array|object */ diff --git a/src/Verification.php b/src/Verification.php index 88e6f36..b978159 100644 --- a/src/Verification.php +++ b/src/Verification.php @@ -11,4 +11,12 @@ class Verification extends ApiResource * @link https://developers.paystack.co/reference#resolve-phone-number */ use ApiOperations\All; + + public static function initiate($params) + { + self::validateParams($params, true); + $url = static::classUrl(); + + return static::staticRequest('POST', $url, $params); + } }