### Install Directa24 PHP SDK via Composer Source: https://github.com/directa24/cashin-php-sdk/blob/master/README.md Use this command to install the Directa24 PHP SDK using Composer. Ensure Composer is installed and configured in your project. ```bash $ composer require directa24/cashin-php-sdk ``` -------------------------------- ### Initialize Directa24 Client with Sandbox Credentials Source: https://github.com/directa24/cashin-php-sdk/blob/master/README.md Instantiate the Directa24 client using sandbox credentials. These are typically used for testing purposes. ```php $x_login = "fUEhPEKrUt"; $api_key = "lTMZgRTakW"; $secret_key = "wSHTfsMMdNskTppilncuZPEklgLmdUAOg"; $directa24 = Directa24::getInstance($x_login, $api_key, $secret_key); ``` -------------------------------- ### Create a One-Shot Deposit with Various Payment Methods Source: https://github.com/directa24/cashin-php-sdk/blob/master/README.md Create a deposit using the one-shot method, specifying detailed payer and bank account information. Handles different payment types like CREDIT_CARD, BANK_TRANSFER, BANK_DEPOSIT, and VOUCHER. ```php $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 '
';
print_r($payment_info->metadata);
echo '';
}
// Several types of payment methods: Boleto, Picpay, Oxxo
if ($payment_info->type === 'VOUCHER') {
$metadata = $payment_info->metada;
if (isset($metadata->qr_code)) {
echo '';
print_r($metadata);
echo '';
}
}
}
} catch (\\\Directa24Exception $ex) {
echo $ex;
}
```
--------------------------------
### Create a Refund with Bank Account Details
Source: https://github.com/directa24/cashin-php-sdk/blob/master/README.md
Use this snippet to create a refund request, including detailed bank account information for the beneficiary. Ensure all required fields for both BankAccount and CreateRefundRequest are populated.
```php
$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;
}
```
--------------------------------
### Set Directa24 to Production Mode
Source: https://github.com/directa24/cashin-php-sdk/blob/master/README.md
Switch the Directa24 client to production mode. This should be done before using production credentials. Refer to API documentation for details.
```php
Directa24::setProductionMode(true);
```
--------------------------------
### Create a Hosted Deposit
Source: https://github.com/directa24/cashin-php-sdk/blob/master/README.md
Create a deposit using the hosted checkout method. This redirects the user to a Directa24 page to complete the payment. Handles success and exceptions.
```php
$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;
}
```
--------------------------------
### Query Deposit Status
Source: https://github.com/directa24/cashin-php-sdk/blob/master/README.md
Check the status of a deposit by providing its unique ID. This is useful for verifying transaction progress.
```php
$depositId = 300533668;
$directa24->depositStatus($depositId);
```
--------------------------------
### Query Refund Status
Source: https://github.com/directa24/cashin-php-sdk/blob/master/README.md
Retrieve the status of a specific refund using its refund ID. This helps in tracking the completion of refund operations.
```php
$refundId = 168250;
$directa24->refundStatus($refundId);
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.