oscar-team / payaut-php
Payaut Php SDK
Installs: 1 996
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=8.1
- saloonphp/saloon: ^3.0
Requires (Dev)
- phpunit/phpunit: ^10.0
README
This is a PHP library for integrating Payaut apis
Installation
Use the package manager composer to install.
composer require oscar-team/payaut-php
Usage
require __DIR__ . '/vendor/autoload.php'; $client = new \OscarTeam\Payaut\PayautApi(token: 'token', environment: 'test');
Account Holders Apis
$client->accountHolders()->list(queryParams: ['_fragments' => 'extacc', '_pageNumber' => '1', '_sort' => 'asc'])->json(); // Check Official docs for parameters $requestData = [ "displayName" => "J. Doe", "legalEntity" => [ "legalName" => "John Doe", "firstName" => "John", "lastName" => "Doe", "legalForm" => "individual" ] ]; $client->accountHolders()->create($requestData)->json(); $client->accountHolders()->get(code: 'accountHolderCode', queryParams: ['_fragemnts' => 'extacc'])->json(); $client->accountHolders()->update($requestData)->json(); $client->accountHolders()->delete(code: 'accountHolderCode')->json(); $client->accountHolders()->accounts()->getAccounts( accountHolderCode: 'accountHolderCode', queryParams: [], )->json(); $client->accountHolders()->accounts()->getAccount( accountHolderCode: 'accountHolderCode', virtualAccountCode: 'virtualAccountCode', queryParams: [], )->json(); $client->accountHolders()->externalAccounts()->list( accountHolderCode: 'accountHolderCode', queryParams: [], )->json(); $client->accountHolders()->externalAccounts()->create( accountHolderCode: 'accountHolderCode', requestData: [] //Check official documentation for requestData payload )->json(); $client->accountHolders()->externalAccounts()->get( accountHolderCode: 'accountHolderCode', externalAccountCode: 'externalAccountCode', queryParams: [] )->json(); $client->accountHolders()->externalAccounts()->update( accountHolderCode: 'accountHolderCode', externalAccountCode: 'externalAccountCode', requestData: [] //Check official documentation for requestData payload )->json(); $client->accountHolders()->externalAccounts()->selectActiveExternalAccount( accountHolderCode: 'accountHolderCode', externalAccountCode: 'externalAccountCode' )->json(); $client->accountHolders()->hostedOnboarding()->generateUrl( accountHolderCode: 'accountHolderCode', queryParams: [] )->body();
Split Payments Apis
$client->split()->list(queryParams: [])->json(); $requestData = [ "extRef" => "order123", "totalAmount" => 7000, "description" => "order 123", "items" => [ [ "type" => "GROUP", "extRef" => "order123split", "amount" => "7000,", "accountCode" => "FD5CKXPzDbi5xmwhrx71GmefFJNsztJjC48", "description" => "order 123 group", "items" => [ [ "type" => "GROUP", "extRef" => "order123splitgroup", "amount" => "7000,", "description" => "order 123 group", "items" => [ [ "type" => "ITEM", "label" => "COMMISSION", "extRef" => "order123commission", "amount" => "1200,", "description" => "commission" ], [ "type" => "ITEM", "label" => "PRODUCT_ITEM", "extRef" => "order123selleramount", "amount" => "7000,", "description" => "seller amount" ] ] ] ] ], ], "pspExtRef" => "PSP reference", "currency" => "EUR", "paymentProcessor" => "ADYEN", "paymentMethod" => "iDEAL" ]; $client->split()->create(requestData: $requestData)->json(); $client->split()->get(code: 'splitCode')->json(); $client->split()->update($requestData)->json(); $client->split()->cancel(code: 'splitPaymentCode')->json(); $client->split()->refunds()->list(queryParams: [])->json(); $client->split()->refunds()->create(requestData: [])->json(); $client->split()->refunds()->get(code: 'splitRefundCode')->json();
Manage Funds
$client->manageFunds()->getBalance(code: 'accountCode')->json(); $client->manageFunds()->listDivisionInformation()->json(); $requestData = [ "fromAccountCode" => "FD5CM7GKttVTf7Gt7KcTVKU37fx7StTxvcc", "toAccountCode"=> "FD5CMdGdJD7gUGVfTtDUU77vYtUSaa37tJ7", "amount" => 1000, "currency" => "EUR", "idempotencyKey" => "f4754d35-7eaf-4338-a5ac-9d61bb1a2ff7", "type" => "INVOICE", "description" => "string" ]; $client->manageFunds()->transferBalance(requestData: $requestData)->json();
Manage Payouts
$client->payouts()->list(version: 'v1', queryParams: [])->json(); $client->payouts()->get(code: 'code')->json(); $client->payouts()->config()->getAccountHolderConfiguration(virtualAccountCode: 'virtualAccountCode')->json(); //Check official documentation for requestData payload $client->payouts()->config()->updateAccountHolderConfiguration(virtualAccountCode: 'virtualAccountCode', requestData: [])->json(); $client->payouts()->config()->deleteAccountHolderConfiguration(virtualAccountCode: 'virtualAccountCode')->json(); $client->payouts()->config()->getDivisionConfiguration()->json(); //Check official documentation for requestData payload $client->payouts()->config()->updateDivisionConfiguration(requestData: [])->json(); $client->payouts()->config()->getDefaultConfiguration()->json(); //Check official documentation for requestData payload $client->payouts()->config()->updateDefaultConfiguration(requestData: [])->json(); $requestData = [ "accountCode" => "FD5CM7GKttVTf7Gt7KcTVKU37fx7StTxvcc", "amount" => 1000, "sourceCurrency" => "EUR", "targetCurrency" => "EUR", "description" => "This is a test payout request", "externalAccountCode" => "FD5CMGdfT7g56S1vx4Rq9vDEmN52G8NrWFi", "processAt" => "2022-02-03T13:12:53.10032+01:00" ]; $client->payouts()->create(requestData: $requestData)->json(); $client->payouts()->delete(code: 'payoutRequestCde')->json();
Transactions
$client->transactions()->get(queryParams: [])->json();
Reporting
$client->reporting()->getReport(report: 'string')->json(); $requestData = [ "id" => "985bb876-657e-4fea-82a7-b1efc0bdc318", "report" => "marketplace-sellers", "status" => "SCHEDULED", "url" => "string", "createdAt" => "2022-04-09T09:32:48.257538", "account" => [ "id" => "FD5CKXPze3o29SQD7MwYDDCX8oKKjN6h4eF", "name" => "John Doe", "type" => "seller" ] ]; $client->reporting()->getReportForSpecificAccount(report: 'string', requestData: $requestData)->json();
Webhooks
$requestData = [ "url" => "https://webhook.site/38b93d22-0621-4984-b9b5-35f834afad4e", "isActivated": true, "type": "WEBHOOK_KYC_UPDATE" ]; $client->webhookConfiguration()->create(requestData: $requestData)->json(); $client->webhookConfiguration()->update( configurationId: 'configurationId', requestData: $requestData)->json(); $client->webhookConfiguration()->get(configurationId: 'configurationId')->json(); $client->webhookConfiguration()->list()->json();
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.