check

Start transaction (init, start)

Test data:
To success payment:4444888888885559Expiration date:any future dateCVC2:any
To failed payment:4444888888884446Expiration date:any future dateCVC2:any
To test, you must record the following line in your hosts file:

195.56.141.154 onlinet.bbrt.hu netbank-uat-tim.bbrt.hu netbank-uat-akm.bbrt.hu netbank-uat-tkm.bbrt.hu netbank-uat-dkm.bbrt.hu netbank-uat-szkm.bbrt.hu

The amount must be 50000 HUF.

Entry data to initiate a loan request:

User: automata420
Password: password
SMS code: 00000000
E-pin (if necessary): 112233

To request status change, please write a letter to peter.bakti@budapestbank.hu by specifying the transaction ID.
Test data:
To success payment:4741520000000003Expiration date:anyCVC:any
To failed payment:4155520000000002Expiration date:anyCVC:any
Test data:
To success payment (MasterCard, 3DSecure):5587402000012011Expiration date:anyCVC:any
To success payment (VISA, 3DSecure):4741520000000003Expiration date:anyCVC:any
To failed payment (VISA, 3DSecure):4242424242424242Expiration date:anyCVC:any
To failed payment (VISA):4155520000000002Expiration date:anyCVC:any
Test data:
To success payment:4111 1111 1111 1111Expiration date:anyCVC:111
To failed payment:4999 9999 9999 9999Expiration date:anyCVC:111
Test data:
To success payment:5431111111111111Expiration date:anyCVC:any
To failed payment:4111111111111111Expiration date:anyCVC:any
Test data:
To success payment:4314229999999913Expiration date:01/18CVC:123
To failed payment:4314229999999913Expiration date:01/20CVC:123
Test data:
To success card payment:4056070000000008Expiration date:12/20CVC2:200

Google Pay:
You can securely use your own production Google Pay account to test payment. The test terminal will replace your valid card data with its own test card in the background and no charge will happen on your Google-stored card.
Test data:
To success payment:5454545454545454Expiration date:12/18CVC:123
To failed payment:20.12 EUR amount transaction
Test data:
To success payment:4550522598305372Expiration date:11/2003CVV2:271
To failed payment:4205792507864590Expiration date:10/2006CVV2:106
Test data:
To success payment:Card number:64719254
Expiration date:12/2019
Controlling value:213
Password:PGtest01
To failed payment:Card number:05101182
Expiration date:12/2019
Controlling value:508
Password:Aa123456
Test data:
Card number:6101 3170 0000 0128CVV:497
Test data:
To success payment:4908366099900425Expiration date:10/14CVC2:823
To failed payment:1111111111111117Expiration date:04/04CVC2:111
SZÉP Card test data:
To success payment:6101324299992718Expiration date:09/19CVC2:282
Test data:
Card number:4908366099900425
Expiration date (mmyy):1014
CVC/CVV:823
Test data:
To success payment:6369471300001646
Test data:
Phone number:36101022001
Test data to register mCard in app:

Android test application:
https://rink.hockeyapp.net/apps/fb0e2cb7852d2e61cf1101aa29852510
It is necessary to intall the application on a device which live OTPay is not installed.
Do not update the test application!
During the registration you have to receive a code in SMS. Send a reply to get the 5-digit code.

mCard name:any
Name on card:TESZT 84
Card number:5417 0491 0062 2029
Expiration date (mm/yy):1020
CVC:111
Card activation number:0000
Choose next on MasterPass:
Country:Magyarország
Wallet:test OTPay
Test data:
Buyer e-mail:paymentgateway+paypalbuyer@bigfish.hu
Password:bfppbuyer@
Test data:
Test PIN (to buy without my paysafecard account):7130286683905171
Test user:
E-mail address:FWjkMvnwXS@JwRypsogma.sVO
Password:8zcIYjFXVCXEnaA1
(Please set the "paysafecash_test_user" User ID when using the above user.)
Test data:
To success payment (VISA):9010101052000002Expiration date:anyCVC:any
To failed payment (VISA):9010100152000003Expiration date:anyCVC:any
To success payment (MASTERCARD):9030101052000008Expiration date:anyCVC:any
To failed payment (MASTERCARD):9030100152000009Expiration date:anyCVC:any
Test data:
(Tracking only in EUR. Germany should be selected.)
Sort code:88888888
Kontonummer:123456789
PIN:00000
Test data:
To success payment:4314229999999913Expiration date:01/20CVV2:123
To failed payment:4314229999999913Expiration date:01/22CVV2:123
Test data:
MasterCard without MasterCard SecureCode (SSL only):9500000000000002Expiration date:anyCVC:any
MasterCard with MasterCard SecureCode:9500000000000001Expiration date:anyCVC:any
Visa without Verified by Visa (SSL only):9400000000000004Expiration date:anyCVC:any
Visa with Verified by Visa:9400000000000003Expiration date:anyCVC:any
Maestro with Maestro SecureCode:9600000000000005Expiration date:anyCVC:any
American Express (SSL only):9100000000000006Expiration date:anyCVC:any
American Express with American Express SafeKey:9100000000000005Expiration date:anyCVC:any
Diners Club (SSL only):9200000000000007Expiration date:anyCVC:any
JCB (SSL only):9300000000000008Expiration date:anyCVC:any
UATP (SSL only):9110000000000010Expiration date:anyCVC:any
Discover (SSL only):9090000000000011Expiration date:anyCVC:any
Note:
The combination of BillingPeriod and BillingFrequency cannot exceed one year.
PayPal has some extra[REFERENCE][field]. See documentation: CreateRecurringPaymentsProfile

PHP SDK

(Choose a provider to specific sample code)

$config = new \BigFish\PaymentGateway\Config();

$config->storeName = $data['storeName'];
$config->apiKey = $data['apiKey'];
$config->testMode = true; // Set to false in production environment

if (isset($data['otpConsumerRegistrationId']) && !empty($data['otpConsumerRegistrationId'])) {
/**
 * If you want to start OTP One Click Payment
 */

$config->encryptPublicKey = [Your Public Key]; // genetared by BIG FISH
}

/**
 * Set encryptPublicKey config param if gatewayPaymentPage=false
 */

$config->encryptPublicKey = [Your Public Key]; // genetared by BIG FISH

\BigFish\PaymentGateway::setConfig($config);

$initRequest = new \BigFish\PaymentGateway\Request\Init();

$initRequest
->setProviderName('')
->setResponseUrl($data['responseUrl'])
->setAmount($data['amount'])
->setCurrency($data['currency'])
->setOrderId($data['orderId'])
->setUserId($data['userId'])
->setLanguage($data['language']);

/**
 * If you want to start 2-step payment
 */

$initRequest->setAutoCommit(false);

/**
 * MKB SZÉP Cafeteria IDs:
 *
 * accommodation => 1111
 * hospitality => 2222
 * leisure => 3333
 */

$initRequest->setMkbSzepCafeteriaId($data['szepPocketId']);

/**
 * The customer will be redirected to the payment page
 */

$initRequest->setGatewayPaymentPage(true);

/**
 * Set card data if gatewayPaymentPage=false
 */

$initRequest
->setMkbSzepCardNumber($data['cardNumber'])
->setMkbSzepCvv($data['cardCvc']);

/**
 * KHB SZÉP Pocket IDs:
 *
 * accommodation => 1
 * hospitality => 2
 * leisure => 3
 */

$data['extra']['KhbCardPocketId'] = $data['szepPocketId'];

if (isset($data['szepPocketId']) && !empty($data['szepPocketId'])) {
/**
 * OTP SZÉP Pocket IDs:
 *
 * accommodation => 09
 * hospitality => 07
 * leisure => 08
 */

$initRequest->setOtpCardPocketId($data['szepPocketId']);
}

if (isset($data['otpConsumerRegistrationId']) && !empty($data['otpConsumerRegistrationId'])) {
/**
 * If you want to start OTP One Click Payment you will need to register the customer
 * It's possible to use the following functions for the further One Click Payment:
 *
- Recurring Payment or

 *
- Pay by OTP Bank (two-party) with OTP consumer registration ID

 */

$initRequest->setOtpConsumerRegistrationId($data['otpConsumerRegistrationId']);
}

if (isset($data['otpConsumerRegistrationId']) && !empty($data['otpConsumerRegistrationId'])) {
/**
 * It's possible to use the following functions for the further One Click Payment:
 *
- Recurring Payment or

 *
- Pay by OTP Bank (two-party) with OTP consumer registration ID

 */

$initRequest->setOtpConsumerRegistrationId($data['otpConsumerRegistrationId']);
}

/**
 * If the merchant asks for the card data
 */

$initRequest
->setOtpCardNumber($data['cardNumber'])
->setOtpExpiration($data['cardExpiration'])
->setOtpCvc($data['cardCvc']);

if (isset($data['phoneNumber']) && !empty($data['phoneNumber'])) {
/**
 * If you want to set phone number
 */

$initRequest->setMppPhoneNumber($data['phoneNumber']);
}

/**
 * If you want to start One Click Payment
 * Card registration or pay by a registered card on Payment Gateway page
 * It's possible to use the following functions for the further transactions:
 *
- Recurring Payment (recommended for OTPSimple)

 *
- One Click Payment without any intermediate page (recommended for OTPSimple)

 */

$initRequest->setOneClickPayment(true);

/**
 * If you want to use normal payment with card registration
 */

$initRequest->setOneClickForcedRegistration(true);

/**
 * Send custom data if you want
 */

$data['extra'] = array(
'ORDER_PNAME' => 'Product name',
'ORDER_PCODE' => 'Product unique id',
'ORDER_PINFO' => 'Product description',
'BILL_FNAME' => 'Customer first name',
'BILL_LNAME' => 'Customer last name',
'BILL_PHONE' => 'Customer phone number',
'BILL_FAX' => 'Customer fax',
'BILL_ADDRESS' => 'Customer billing address',
'BILL_ADDRESS2' => 'More customer billing address',
'BILL_ZIPCODE' => 'Customer billing zip code',
'BILL_CITY' => 'Customer billing city',
'BILL_STATE' => 'Customer billing state',
'BILL_COUNTRYCODE' => 'Customer billing country code',
'BILL_EMAIL' => 'Customer billing email',
'DELIVERY_FNAME' => 'Customer delivery first name',
'DELIVERY_LNAME' => 'Customer delivery last name',
'DELIVERY_PHONE' => 'Customer delivery phone number',
'DELIVERY_ADDRESS' => 'Customer delivery address',
'DELIVERY_ADDRESS2' => 'More customer delivery address',
'DELIVERY_ZIPCODE' => 'Customer delivery zip code',
'DELIVERY_CITY' => 'Customer delivery city',
'DELIVERY_STATE' => 'Customer delivery state',
'DELIVERY_COUNTRYCODE' => 'Customer delivery country code',
);

/**
 * Send more than one product
 */

$data['extra']['productItems'] = array(
array(
'Name' => 'Product name 1',
'SKU' => 'Product ID 1',
'Description' => 'Product description 1',
'Price' => 'Product price',
'Quantity' => 'Ordered quantity'
),
array(
'Name' => 'Product name 2',
'SKU' => 'Product ID 2',
'Description' => 'Product description 2',
'Price' => 'Product price',
'Quantity' => 'Ordered quantity'
),
...
);

/**
 * Set product data if you want
 */

$data['extra']['productItems'] = array(
array(
'Name' => 'Product name 1',
'Price' => 'Product price',
'Quantity' => 'Ordered quantity'
),
array(
'Name' => 'Product name 2',
'Price' => 'Product price',
'Quantity' => 'Ordered quantity'
),
...
);

/**
 * Set customer email if you want
 */

$data['extra']['email'] = $data['email'];

/**
 * If you want to register Reference or Recurring payment
 */

$initRequest->setOneClickPayment(true);

if (isset($data['REFERENCE']) && !empty($data['REFERENCE'])) {
/**
 * If you want to register Recurring payment
 */

$data['extra']['REFERENCE'] = array(
'INITAMT' => $data['REFERENCE']['INITAMT'],
'PROFILESTARTDATE' => $data['REFERENCE']['PROFILESTARTDATE'],
'BILLINGFREQUENCY' => $data['REFERENCE']['BILLINGFREQUENCY'],
'BILLINGPERIOD' => $data['REFERENCE']['BILLINGPERIOD'],
'DESC' => $data['REFERENCE']['DESC'],
);
}

if (isset($data['SaferpayPaymentMethods']) && !empty($data['SaferpayPaymentMethods'])) {
/**
 * Set payment methods if you want
 */

$data['extra']['SaferpayPaymentMethods'] = $data['SaferpayPaymentMethods'][];
}

if (isset($data['SaferpayWallets']) && !empty($data['SaferpayWallets'])) {
/**
 * Set wallets if you want
 */

$data['extra']['SaferpayWallets'] = $data['SaferpayWallets'][];
}

if (isset($data['QpayPaymentType']) && !empty($data['QpayPaymentType'])) {
/**
 * Set payment type if you want
 */

$data['extra']['QpayPaymentType'] = $data['QpayPaymentType'];
}

if (isset($data['Barion2']) && is_array($data['Barion2']) && !empty($data['Barion2'])) {
/**
 * If you want to set custom data
 */

$data['extra']['Barion2'] = $data['Barion2'];
}

/**
 * Send customer data to prefill the registration form (optional)
 */

$data['extra']['Paysafecash'] = array(
'salutation' => 'salutation',
'firstName' => 'First name',
'lastName' => 'Last name',
'birthDate' => 'Birth date',
'phoneNumber' => 'Phone number',
'email' => 'email',
'address1' => 'Address',
'city' => 'city',
'postalCode' => 'Postal code'
);

/**
 * If you want to set custom data
 */

$data['extra'] = array(
'firstName' => 'John',
'lastName' => 'Doe',
'e-mail' => 'test@bbaruhiteltest.hu',
'term' => '10',
'offerId' => 'tesztkonstrukcio1'
);

if (isset($data['extra']) && is_array($data['extra'])) {
$initRequest->setExtra($data['extra']);
}

$initResponse = \BigFish\PaymentGateway::init($initRequest);

if ($initResponse->ResultCode == "SUCCESSFUL" && $initResponse->TransactionId) {
/**
 * Save TransactionId into database before call start().
 */

$startResponse = \BigFish\PaymentGateway::start(
new \BigFish\PaymentGateway\Request\Start($initResponse->TransactionId)
);

/**
 * Use the following start method if you want to register a NEW card to One Click
 * ($initRequest->setOneClickPayment(true) method call is necessary)
 */

$startRequest = new \BigFish\PaymentGateway\Request\Start(
$initResponse->TransactionId
);
$startUrl = \BigFish\PaymentGateway::getStartUrl($startRequest);

if (isset($_POST['addNewCard'])) {
$startUrl .= '&normalPayment';
}

header('Location: ' . $startUrl);
exit();
}

REST API


Test URL: https://test.paymentgateway.hu/api/rest/

Production URL: https://www.paymentgateway.hu/api/rest/


HTTP Basic Authentication:

Send base64 encoded StoreName and ApiKey in HTTP Header.

Example:

Authorization: Basic c2RrX3Rlc3Q6ODZhZjMtODBlNGYtZjgyMjgtOTQ5OGYtOTEwYWQ=

Where the c2RrX3Rlc3Q6ODZhZjMtODBlNGYtZjgyMjgtOTQ5OGYtOTEwYWQ= string equal in PHP:

base64_encode("sdk_test:86af3-80e4f-f8228-9498f-910ad");


Init transaction:

Required data (HTTP POST):

method = Init
json = {json encoded variables}

Parameters (* if necessary):

StoreName*
ProviderName*
ResponseUrl*
Amount*
Currency*
OrderId*
UserId*
Language
MppPhoneNumber
OtpCardNumber
OtpExpiration
OtpCvc
OtpCardPocketId
OtpConsumerRegistrationId (OTP One Click Payment)
MkbSzepCafeteriaId
MkbSzepCardNumber
MkbSzepCvv
OneClickPayment
OneClickReferenceId
AutoCommit (2-step payment if false)
Extra (See here how to use: public function setExtra())
GatewayPaymentPage (MKBSZEP: Card data handling on Payment Gateway page or Merchant website.)
NotificationUrl
ModuleName
ModuleVersion

Example:

method=Init&json={"StoreName":"sdk_test","ProviderName":"OTP","ResponseUrl":""http:\/\/demo.paymentgateway.hu\/response.php"","Amount":"100","Currency":"HUF","OrderId":"DEMO_ORDER","UserId":"DEMO_USER","Language":"HU"}

Response data (JSON format):

TransactionId
ResultCode
ResultMessage


Start transaction:

HTTP Redirect

Test URL: https://test.paymentgateway.hu/Start

Production URL: https://www.paymentgateway.hu/Start

Required data (HTTP GET):

TransactionId

Example:

https://test.paymentgateway.hu/Start?TransactionId=[TransactionId received by Init]