1. Go to this page and download the library: Download hds-solutions/bancard-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hds-solutions / bancard-sdk example snippets
use HDSSolutions\Bancard\Bancard;
// Set your vPOS API credentials
Bancard::credentials(
publicKey: 'YOUR_PUBLIC_KEY',
privateKey: 'YOUR_PRIVATE_KEY',
);
use HDSSolutions\Bancard\Bancard;
// Switch to production
Bancard::useProduction();
// Or dynamically based on your application environment
Bancard::useProduction(config('app.env') === 'production');
use HDSSolutions\Bancard\Bancard;
use HDSSolutions\Bancard\Models\Currency;
$response = Bancard::single_buy(
shop_process_id: $shop_process_id,
amount: $amount,
description: 'Premium Subscription',
currency: Currency::Guarani,
return_url: 'https://your-domain.com/payment/success',
cancel_url: 'https://your-domain.com/payment/cancel',
);
if ($singleBuyResponse->wasSuccess()) {
// access the generated process ID to call the Bancard <iframe>
$process_id = $singleBuyResponse->getProcessId();
}
use HDSSolutions\Bancard\Bancard;
use HDSSolutions\Bancard\Models\Currency;
$singleBuyResponse = Bancard::single_buy_zimple(
shop_process_id: $shop_process_id,
amount: $amount,
description: 'Premium Subscription',
currency: Currency::Guarani,
phone_no: $phone_no, // this field is automatically send on the `additional_data` property of the request
return_url: 'https://localhost/your-success-callback-path',
cancel_url: 'https://localhost/your-cancelled-callback-path',
);
use HDSSolutions\Bancard\Bancard;
$response = Bancard::card_new(
user_id: $user_id,
card_id: $card_id,
phone_no: '+595991234567',
email: '[email protected]',
return_url: 'https://your-domain.com/cards/callback',
);
if ($response->wasSuccess()) {
// access the generated process ID to call the Bancard <iframe>
$processId = $response->getProcessId();
}
use HDSSolutions\Bancard\Bancard;
use HDSSolutions\Bancard\Models\Card;
$response = Bancard::users_cards(
user_id: $user_id,
);
if ($response->wasSuccess()) {
foreach ($response->getCards() as $card) {
echo "Card: {$card->card_masked_number}\n";
echo "Brand: {$card->card_brand}\n";
echo "Expiration: {$card->expiration_date}\n";
}
}
use HDSSolutions\Bancard\Bancard;
use HDSSolutions\Bancard\Models\Card;
use HDSSolutions\Bancard\Models\Currency;
use HDSSolutions\Bancard\Models\Confirmation;
use HDSSolutions\Bancard\Models\SecurityInformation;
$response = Bancard::charge(
card: $card,
shop_process_id: $shop_process_id,
amount: $amount,
currency: Currency::Guarani,
description: 'Monthly Subscription',
);
if ($response->wasSuccess()) {
// access to change Confirmation data
$confirmation = $chargeResponse->getConfirmation();
echo sprintf('Ticket No: %u, Authorization ID: %u',
$confirmation->ticket_number,
$confirmation->authorization_number);
// also access to the security information data
$securityInformation = $confirmation->getSecurityInformation();
echo sprintf('Country: %s, Risk Index: %.2F',
$securityInformation->card_country,
$securityInformation->risk_index);
}
use HDSSolutions\Bancard\Bancard;
use HDSSolutions\Bancard\Models\Confirmation;
$confirmationResponse = Bancard::confirmation(
shop_process_id: $chargeResponse->getRequest()->getShopProcessId(),
);
use HDSSolutions\Bancard\Bancard;
$rollbackResponse = Bancard::rollback(
shop_process_id: $chargeResponse->getRequest()->getShopProcessId(),
);
use HDSSolutions\Bancard\Bancard;
use HDSSolutions\Bancard\Models\Card;
$response = Bancard::card_delete(
card: $card, // must be an instance of Card, obtained from Bancard::users_cards()
);
// From response to request
$request = $response->getRequest();
echo "Request Body: " . $request->getBody()->getContents() . "\n";
// From request to response
$response = $request->getResponse();
echo "Response Body: " . $response->getBody()->getContents() . "\n";
use HDSSolutions\Bancard\Bancard;
use HDSSolutions\Bancard\Models\Currency;
$singleBuyRequest = Bancard::newSingleBuyRequest(
shop_process_id: $shop_process_id,
amount: $amount,
description: 'Premium Subscription',
currency: Currency::Guarani,
return_url: 'https://your-domain.com/payment/success-callback-path',
cancel_url: 'https://your-domain.com/payment/cancel-callback-path',
);
// for example, enable Zimple flag for this request
$singleBuyRequest->enableZimple();
// for Zimple, you need to specify the user's phone number on the additional data property
$singleBuyRequest->setAdditionalData($phone_no);
// after building the request, you can call the execute() method to send the request to Bancard
if (! $singleBuyRequest->execute()) {
// if failed, you can access the response, and the messages
$singleBuyRequest->getResponse()->getMessages();
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.