{"id":25315765,"url":"https://github.com/svennis94/buckaroo-php-json","last_synced_at":"2025-10-28T20:31:15.140Z","repository":{"id":62541723,"uuid":"83445726","full_name":"svennis94/Buckaroo-PHP-JSON","owner":"svennis94","description":"Connect to the JSON API from Buckaroo","archived":false,"fork":false,"pushed_at":"2018-12-10T10:34:02.000Z","size":89,"stargazers_count":6,"open_issues_count":0,"forks_count":9,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-04-25T06:44:03.887Z","etag":null,"topics":["api","buckaroo","composer","json","php","php7"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/svennis94.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-28T15:03:34.000Z","updated_at":"2022-02-12T10:09:05.000Z","dependencies_parsed_at":"2022-11-02T15:45:28.740Z","dependency_job_id":null,"html_url":"https://github.com/svennis94/Buckaroo-PHP-JSON","commit_stats":null,"previous_names":["sebudesign/buckaroo-php-json"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svennis94%2FBuckaroo-PHP-JSON","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svennis94%2FBuckaroo-PHP-JSON/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svennis94%2FBuckaroo-PHP-JSON/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svennis94%2FBuckaroo-PHP-JSON/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/svennis94","download_url":"https://codeload.github.com/svennis94/Buckaroo-PHP-JSON/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238713238,"owners_count":19518240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","buckaroo","composer","json","php","php7"],"created_at":"2025-02-13T18:39:08.445Z","updated_at":"2025-10-28T20:31:09.785Z","avatar_url":"https://github.com/svennis94.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Buckaroo PHP - JSON\n\nThis package will connect to the JSON API of Buckaroo, if you prefer SOAP over JSON use [this package](https://github.com/SeBuDesign/Buckaroo-PHP).\n\n[![Packagist](https://img.shields.io/packagist/dt/sebudesign/buckaroo-json.svg)]() [![Packagist](https://img.shields.io/packagist/v/sebudesign/buckaroo-json.svg)]() [![Code Climate](https://img.shields.io/codeclimate/github/SeBuDesign/Buckaroo-PHP-JSON.svg)]()\n\n### Installation\n\nThis package uses [Composer](https://getcomposer.org/) as PHP dependency manager, you need to run the following command within the root of your project.\n\n```\ncomposer require sebudesign/buckaroo-json\n```\n\n### Usage\n\n```php\n\u003c?php \n\nrequire 'vendor/autoload.php';\n\nuse SeBuDesign\\BuckarooJson\\Transaction;\nuse SeBuDesign\\BuckarooJson\\TransactionStatus;\nuse SeBuDesign\\BuckarooJson\\Parts\\IpAddress;\nuse SeBuDesign\\BuckarooJson\\Parts\\Service;\nuse SeBuDesign\\BuckarooJson\\Parts\\OriginalTransactionReference;\nuse SeBuDesign\\BuckarooJson\\Parts\\ContinueOnIncomplete;\n\nclass Foo\n{\n    public function startTransactionAllOptions()\n    {\n        // Replace your website-key and secret-key with your keys\n        $transaction = new Transaction('website-key', 'secret-key');\n        \n        // Create a test transaction\n        $transaction-\u003eputInTestMode();\n        \n        // Set the currency of the transaction\n        $transaction-\u003esetCurrency('EUR');\n        \n        // Set the amount credit\n        $transaction-\u003esetAmountCredit(1.99);\n        \n        // Set the amount debit\n        $transaction-\u003esetAmountDebit(1.99);\n        \n        // Set the unique invoice number\n        $transaction-\u003esetInvoice('UniqueInvoice');\n        \n        // Set the order number\n        $transaction-\u003esetOrder('SetOrderNumber');\n        \n        // Set the description for the transaction\n        $transaction-\u003esetDescription('Your transaction description');\n        \n        // Set the client IP\n        $oIpAddress = new IpAddress();\n        $oIpAddress-\u003esetAddress('127.0.0.1');\n        $transaction-\u003esetClientIP($oIpAddress);\n        \n        // Set the client user agent\n        $transaction-\u003esetClientUserAgent('google-chrome');\n        \n        // Set the return url\n        $transaction-\u003esetReturnURL('https://google.com/');\n        \n        // Set the return url in case of a cancellation\n        $transaction-\u003esetReturnURLCancel('https://google.com/');\n        \n        // Set the return url in case of an error\n        $transaction-\u003esetReturnURLError('https://google.com/');\n        \n        // Set the return url in case of a rejection\n        $transaction-\u003esetReturnURLReject('https://google.com/');\n        \n        // Set the original transaction object\n        $oOriginalTransactionReference = new OriginalTransactionReference();\n        $oOriginalTransactionReference-\u003esetType('type');\n        $oOriginalTransactionReference-\u003esetReference('reference');\n        $transaction-\u003esetOriginalTransactionReference($oOriginalTransactionReference);\n        \n        // Set the push url to push the transaction status to\n        $transaction-\u003esetPushURL('https://google.com/');\n       \n        // Set the push url to push the transaction status in case of a failure\n        $transaction-\u003esetPushURLFailure('https://google.com/');\n        \n        // Set the original transaction key\n        $transaction-\u003esetOriginalTransactionKey('original-transaction-key');\n        \n        // Do you want to start a recurring payment?\n        // Default: false\n        $transaction-\u003esetStartRecurrent(true);\n        \n        // Continue on incomplete payment?\n        // Default: ContinueOnIncomplete::No\n        $transaction-\u003esetContinueOnIncomplete(ContinueOnIncomplete::RedirectToHTML);\n        \n        // Add a service\n        $service = new Service();\n        $service-\u003esetName('name');\n        $service-\u003esetAction('action');\n        $service-\u003esetVersion(3);\n        \n        // Service parameters\n        $service-\u003eaddParameter('name', 'value');\n        $service-\u003eaddParameter('name', 'value', 'group-id', 'group-type');\n       \n        $service-\u003ehasParameter('name'); // true\n        $service-\u003ehasParameter('foo'); // false\n\n        $service-\u003egetParameter('name');\n        $service-\u003eremoveParameter('name');\n        \n        $transaction-\u003eaddService($service);\n        \n        // Add a custom parameter\n        $transaction-\u003eaddCustomParameter('name', 'value');\n        // Has a custom parameter\n        $transaction-\u003ehasCustomParameter('name');\n        // Remove a custom parameter\n        $transaction-\u003eremoveCustomParameter('name');\n        // Has a custom parameter\n        $transaction-\u003ehasCustomParameter('name');\n        \n        // Add an additional parameter\n        $transaction-\u003eaddAdditionalParameter('name', 'value');\n        // Has an additional parameter\n        $transaction-\u003ehasAdditionalParameter('name');\n        // Remove an additional parameter\n        $transaction-\u003eremoveAdditionalParameter('name');\n        // Has an additional parameter\n        $transaction-\u003ehasAdditionalParameter('name');\n        \n        // Add a client header\n        $transaction-\u003eaddClientHeader('Culture', 'nl-NL');\n        // Has a specific client header\n        $transaction-\u003ehasClientHeader('Culture'); // True\n        $transaction-\u003ehasClientHeader('SomeCustomHeader'); // False\n        // Retrieve a client header\n        $transaction-\u003egetClientHeader('Culture'); // nl-NL\n        $transaction-\u003egetClientHeader('SomeCustomHeader'); // null\n        \n        // Start the transaction\n        $transactionResponse = $transaction-\u003estart();\n        \n        var_dump(\n            $transactionResponse-\u003egetTransactionKey(),\n            $transactionResponse-\u003egetOrder(),\n            $transactionResponse-\u003egetIssuingCountry(),\n            $transactionResponse-\u003egetInvoice(),\n            $transactionResponse-\u003egetServiceCode(),\n            $transactionResponse-\u003egetCurrency(),\n            $transactionResponse-\u003egetAmountDebit(),\n            $transactionResponse-\u003egetAmountCredit(),\n            $transactionResponse-\u003egetTransactionType(),\n            $transactionResponse-\u003egetMutationType(),\n            $transactionResponse-\u003egetRelatedTransactions(),\n            $transactionResponse-\u003ehasConsumerMessage(),\n            $transactionResponse-\u003ehasToReadConsumerMessage(),\n            $transactionResponse-\u003egetConsumerMessage(),\n            $transactionResponse-\u003eisTest(),\n            $transactionResponse-\u003ehasStartedRecurringPayment(),\n            $transactionResponse-\u003eisRecurringPayment(),\n            $transactionResponse-\u003eisCancelable(),\n            $transactionResponse-\u003egetCustomerName(),\n            $transactionResponse-\u003egetPayerHash(),\n            $transactionResponse-\u003egetPaymentKey(),\n            $transactionResponse-\u003egetStatusCode(),\n            $transactionResponse-\u003egetStatusSubCode(),\n            $transactionResponse-\u003egetDateTimeOfStatusChange(),\n            $transactionResponse-\u003ehasRequiredAction(),\n            $transactionResponse-\u003egetRequestedInformation(),\n            $transactionResponse-\u003ehasToRedirect(),\n            $transactionResponse-\u003ehasToPayRemainder(),\n            $transactionResponse-\u003egetRemainderAmount(),\n            $transactionResponse-\u003egetRemainderCurrency(),\n            $transactionResponse-\u003egetRemainderGroupTransaction(),\n            $transactionResponse-\u003egetRedirectUrl(),\n            $transactionResponse-\u003egetServices(),\n            $transactionResponse-\u003egetService('name'),\n            $transactionResponse-\u003egetServiceParameters('name'),\n            $transactionResponse-\u003egetCustomParameters(),\n            $transactionResponse-\u003egetAdditionalParameters(),\n            $transactionResponse-\u003ehasErrors(),\n            $transactionResponse-\u003egetErrors()\n        );\n    }\n    \n    public function getTransactionStatus()\n    {\n        $transactionStatus = new TransactionStatus('website-key', 'secret-key');\n        $transactionResponse = $transactionStatus-\u003eget('transaction-key');\n        \n        var_dump(\n            $transactionResponse-\u003egetTransactionKey(),\n            $transactionResponse-\u003egetOrder(),\n            $transactionResponse-\u003egetIssuingCountry(),\n            $transactionResponse-\u003egetInvoice(),\n            $transactionResponse-\u003egetServiceCode(),\n            $transactionResponse-\u003egetCurrency(),\n            $transactionResponse-\u003egetAmountDebit(),\n            $transactionResponse-\u003egetAmountCredit(),\n            $transactionResponse-\u003egetTransactionType(),\n            $transactionResponse-\u003egetMutationType(),\n            $transactionResponse-\u003egetRelatedTransactions(),\n            $transactionResponse-\u003ehasConsumerMessage(),\n            $transactionResponse-\u003ehasToReadConsumerMessage(),\n            $transactionResponse-\u003egetConsumerMessage(),\n            $transactionResponse-\u003eisTest(),\n            $transactionResponse-\u003ehasStartedRecurringPayment(),\n            $transactionResponse-\u003eisRecurringPayment(),\n            $transactionResponse-\u003eisCancelable(),\n            $transactionResponse-\u003egetCustomerName(),\n            $transactionResponse-\u003egetPayerHash(),\n            $transactionResponse-\u003egetPaymentKey(),\n            $transactionResponse-\u003egetStatusCode(),\n            $transactionResponse-\u003egetStatusSubCode(),\n            $transactionResponse-\u003egetDateTimeOfStatusChange(),\n            $transactionResponse-\u003ehasRequiredAction(),\n            $transactionResponse-\u003egetRequestedInformation(),\n            $transactionResponse-\u003ehasToRedirect(),\n            $transactionResponse-\u003ehasToPayRemainder(),\n            $transactionResponse-\u003egetRemainderAmount(),\n            $transactionResponse-\u003egetRemainderCurrency(),\n            $transactionResponse-\u003egetRemainderGroupTransaction(),\n            $transactionResponse-\u003egetRedirectUrl(),\n            $transactionResponse-\u003egetServices(),\n            $transactionResponse-\u003egetService('name'),\n            $transactionResponse-\u003egetServiceParameters('name'),\n            $transactionResponse-\u003egetCustomParameters(),\n            $transactionResponse-\u003egetAdditionalParameters(),\n            $transactionResponse-\u003ehasErrors(),\n            $transactionResponse-\u003egetErrors()\n        );\n    }\n    \n    public function getTransactionStatuses()\n    {\n        $transactionStatus = new TransactionStatus('website-key', 'secret-key');\n        \n        $transactionStatus-\u003eaddTransactionByKey('transaction-key');\n        $transactionStatus-\u003eaddTransactionByInvoice('invoice');\n        \n        $transactionResponses = $transactionStatus-\u003eget();\n        \n        $transactionStatus = new TransactionStatus('website-key', 'secret-key');\n                    \n        $transactionStatus-\u003eaddTransactionByKey('transaction-key');\n        $transactionStatus-\u003eaddTransactionByKey('transaction-key');\n        \n        $transactionResponses = $transactionStatus-\u003eget();\n        \n        $transactionStatus = new TransactionStatus('website-key', 'secret-key');\n                    \n        $transactionStatus-\u003eaddTransactionByKey('invoice');\n        $transactionStatus-\u003eaddTransactionByKey('invoice');\n        \n        $transactionResponses = $transactionStatus-\u003eget();\n        \n        foreach ($transactionResponses as $transactionResponse) {\n            var_dump(\n                $transactionResponse-\u003egetTransactionKey(),\n                $transactionResponse-\u003egetOrder(),\n                $transactionResponse-\u003egetIssuingCountry(),\n                $transactionResponse-\u003egetInvoice(),\n                $transactionResponse-\u003egetServiceCode(),\n                $transactionResponse-\u003egetCurrency(),\n                $transactionResponse-\u003egetAmountDebit(),\n                $transactionResponse-\u003egetAmountCredit(),\n                $transactionResponse-\u003egetTransactionType(),\n                $transactionResponse-\u003egetMutationType(),\n                $transactionResponse-\u003egetRelatedTransactions(),\n                $transactionResponse-\u003ehasConsumerMessage(),\n                $transactionResponse-\u003ehasToReadConsumerMessage(),\n                $transactionResponse-\u003egetConsumerMessage(),\n                $transactionResponse-\u003eisTest(),\n                $transactionResponse-\u003ehasStartedRecurringPayment(),\n                $transactionResponse-\u003eisRecurringPayment(),\n                $transactionResponse-\u003eisCancelable(),\n                $transactionResponse-\u003egetCustomerName(),\n                $transactionResponse-\u003egetPayerHash(),\n                $transactionResponse-\u003egetPaymentKey(),\n                $transactionResponse-\u003egetStatusCode(),\n                $transactionResponse-\u003egetStatusSubCode(),\n                $transactionResponse-\u003egetDateTimeOfStatusChange(),\n                $transactionResponse-\u003ehasRequiredAction(),\n                $transactionResponse-\u003egetRequestedInformation(),\n                $transactionResponse-\u003ehasToRedirect(),\n                $transactionResponse-\u003ehasToPayRemainder(),\n                $transactionResponse-\u003egetRemainderAmount(),\n                $transactionResponse-\u003egetRemainderCurrency(),\n                $transactionResponse-\u003egetRemainderGroupTransaction(),\n                $transactionResponse-\u003egetRedirectUrl(),\n                $transactionResponse-\u003egetServices(),\n                $transactionResponse-\u003egetService('name'),\n                $transactionResponse-\u003egetServiceParameters('name'),\n                $transactionResponse-\u003egetCustomParameters(),\n                $transactionResponse-\u003egetAdditionalParameters(),\n                $transactionResponse-\u003ehasErrors(),\n                $transactionResponse-\u003egetErrors()\n            );\n        }\n    }\n}\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvennis94%2Fbuckaroo-php-json","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsvennis94%2Fbuckaroo-php-json","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvennis94%2Fbuckaroo-php-json/lists"}