directa24 / cashin-php-sdk
Directa24 PHP SDK
Installs: 65 823
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 4
Open Issues: 1
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: 5.7
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-11-13 21:22:30 UTC
README
The official Directa24 PHP client library.
Requirements
- PHP 5.6 or later
Install
Via Composer
$ composer require directa24/cashin-php-sdk
Usage
Credentials
Example below exposes sandbox credentials
$x_login = "fUEhPEKrUt"; $api_key = "lTMZgRTakW"; $secret_key = "wSHTfsMMdNskTppilncuZPEklgLmdUAOg"; $directa24 = Directa24::getInstance($x_login, $api_key, $secret_key);
Set Production Environment
Before remember to specify production credentials. See API docs
Directa24::setProductionMode(true);
Deposit Creations
Hosted Creation
$create_deposit_request = new CreateDepositRequest(); $create_deposit_request->invoice_id = Helpers::generateRandomString(8); $create_deposit_request->amount = 100; $create_deposit_request->country = "BR"; $create_deposit_request->currency = "BRL"; $create_deposit_request->language = "en"; try { $response = $directa24->createDeposit($create_deposit_request); if ($response->checkout_type === 'HOSTED') { $redirect_url = $response->redirect_url; $response->deposit_id; $response->user_id; $response->merchant_invoice_id; header('Location: '. $redirect_url); } echo json_encode($response); } catch (Directa24Exception $ex){ echo $ex; }
One Shot Creation
$address = new Address(); $address->street = "Rua Dr. Franco Ribeiro, 52"; $address->city = "Rio Branco"; $address->state = "AC"; $address->zip_code = "11600-234"; $payer = new Payer(); $payer->id = "4-9934519"; $payer->address = $address; $payer->document = "72697858059"; $payer->document_type = "CPF"; $payer->email = "juanCarlos@hotmail.com"; $payer->first_name = "Ricardo"; $payer->last_name = "Carlos"; $payer->phone = "+598 99730878"; $bank_account = new BankAccount(); $bank_account->bank_code = "01"; $bank_account->account_number = "3242342"; $bank_account->account_type = "SAVING"; $bank_account->beneficiary = "Ricardo Carlos"; $bank_account->branch = "12"; $create_deposit_request = new CreateDepositRequest(); $create_deposit_request->invoice_id = Helpers::generateRandomString(8); $create_deposit_request->amount = 100; $create_deposit_request->country = "BR"; $create_deposit_request->currency = "BRL"; $create_deposit_request->language = "en"; $create_deposit_request->payer = $payer; $create_deposit_request->payment_method = "BB"; $create_deposit_request->bank_account = $bank_account; $create_deposit_request->early_release = false; $create_deposit_request->fee_on_payer = false; $create_deposit_request->surcharge_on_payer = false; $create_deposit_request->bonus_amount = 0.1; $create_deposit_request->bonus_relative = false; $create_deposit_request->strikethrough_price = 0.1; $create_deposit_request->description = "Test"; $create_deposit_request->client_ip = "186.51.171.84"; $create_deposit_request->device_id = "00000000-00000000-01234567-89ABCDEF"; $create_deposit_request->back_url = "https://yoursite.com/deposit/108/cancel"; $create_deposit_request->success_url = "https://yoursite.com/deposit/108/confirm"; $create_deposit_request->error_url = "https://yoursite.com/deposit/108/error"; $create_deposit_request->notification_url = "https://yoursite.com/ipn"; $create_deposit_request->test = true; $create_deposit_request->mobile = false; try { $response = $directa24->createDeposit($create_deposit_request); if ($response->checkout_type === 'ONE_SHOT') { $payment_info = $response->payment_info; if ($payment_info->type === 'CREDIT_CARD') { header('Location: ' . $response->redirect_url); } // Referenced transfer if ($payment_info->type === 'BANK_TRANSFER') { header('Location: ' . $response->redirect_url); } // Bank deposit if ($payment_info->type === 'BANK_DEPOSIT') { echo '<pre>'; print_r($payment_info->metadata); echo '</pre>'; } // Several types of payment methods: Boleto, Picpay, Oxxo if ($payment_info->type === 'VOUCHER') { $metadata = $payment_info->metada; if (isset($metadata->qr_code)) { echo '<img src="' . $metadata->qr_code . '"/>'; } else if (isset($metadata->digital_line) || isset($metadata->barcode)) { echo '<pre>'; print_r($metadata); echo '</pre>'; } } } } catch (\Directa24Exception $ex) { echo $ex; }
Refund Creation
$bank_account = new BankAccount(); $bank_account->bank_code = "01"; $bank_account->account_number = "3242342"; $bank_account->account_type = "SAVING"; $bank_account->beneficiary = "Ricardo Carlos"; $bank_account->branch = "12"; $create_refund_request = new CreateRefundRequest(); $create_refund_request->deposit_id = 300533180; $create_refund_request->invoice_id = 'MP_b451645f30b8415ba833d37f3fa21209'; $create_refund_request->amount = 1; $create_refund_request->bank_account = $bank_account; $create_refund_request->comments = 'test'; $create_refund_request->notification_url = "https://yoursite.com/deposit/108/confirm"; $directa24 = Directa24::getInstance("fUEhPEKrUt", "lTMZgRTakW", "wSHTfsMMdNskTppilncuZPEklgLmdUAOg"); try { $refund_id = $directa24->refund($create_refund_request); echo $refund_id; } catch (\Directa24Exception $ex) { echo $ex; }
Basic Query status
$depositId = 300533668; $directa24->depositStatus($depositId);
$refundId = 168250; $directa24->refundStatus($refundId);
Documentation
Please see the API docs for the most up-to-date documentation.