Към момента това е просто тестов пример.
За да го тествате първо трябва да въведете стойности на, или техните еквиваленти за реална среда:
$terminal_id, $merchant_test_private_key,$merchant_test_passphrase,$borica_test_public_key,$test_return_urlАко нямате сървър може да използвате:
bash docker-compose up -d
Отваряте в браузера : localhost ще видите елементарна форма с предварително попълнени данни.
#TODO
- Добавяне на коректна документация.
- Добавяне на различните видове заявки към APGW
# {terminal} - terminal id
# {date} - current date format is YYYYMMDD
# {sate} - P for production or D for development
openssl genrsa -out {teminal_id}_{date}_{state}.key -aes256 2048 #generate private key
openssl req -new -key {teminal_id}_{date}_{state}.key -out {teminal_id}_{date}_{state}.csr| Response Code (RC) | RC DESCRIPTION |
|---|---|
| 00 | Sucessfull |
| => Timeout | |
| "01" | Refer to card issuer |
| "04" | Pick Up |
| "05" | Do not Honour |
| "13" | Invalid amount |
| "30" | Format error |
| "65" | Soft Decline |
| "91" | Issuer or switch is inoperative |
| "96" | System Malfunction |
| ERR_GWP_CODES | DESCRIPTION |
|---|---|
| -1 | A mandatory request field is not filled in / В заявката не е попълнено задължително поле |
| -3 | Acquirer host (NS) does not respond or wrong format of e-gateway response template file / Aвторизационният хост не отговаря или форматът на отговора е неправилен |
| -4 | No connection to the acquirer host (NS) / Няма връзка с авторизационния хост |
| -11 | Error in the "Currency" request field / Грешка в поле "Валута" в заявката |
| -12 | Error in the "Merchant ID" request field / Грешка в поле "Merchant ID / Идентификатор на търговец |
| -15 | Error in the "RRN" request field / Грешка в поле "RRN" в заявката |
| -17 | Грешка при проверка на P_SIGN |
| -19 | Error in the authentication information request or authentication failed / Грешка в искането за автентификация или неуспешна автентификация |
| -20 | A permitted time interval (1 hour by default) between the transaction Time Stam prequest field and the e-Gateway time is exceeded / Разрешената разлика между времето на сървъра на търговеца и e-Gateway сървъра е надвишена |
| -21 | The transaction has already been executed / Транзакцията вече е била изпълнена |
| -25 | Transaction canceled (e.g. by user) / Транзакцията е отказана (напр. от картодържателя |
| -27 | Invalid merchant name / Неправилно име на търговеца |
| -32 | Duplicate declined transaction / Дублирана отказана транзакция |
Примери благодарение на dimitarminchev.
Изпращане на заявка: borica_request.php
| CART Number | Response code |
|---|---|
| 5100770000000022 | 00 |
| 4341792000000044 | 00 3DS pass: 111111 |
| 5555000000070019 | 04 |
| 5555000000070027 | 13 |
| 5555000000070035 | 91 |
| 4010119999999897 | amount dependant |
| 5100789999999895 | amount dependant 3DS pass: 111111 |
| AMOUNT | RC | RC DESCRIPTION |
|---|---|---|
| 1.00 - 1.99 | 01 | Refer to card issuer |
| 2.00 - 2.99 | 04 | Pick Up |
| 3.00 - 3.99 | 05 | Do not Honour |
| 4.00 - 4.99 | 13 | Invalid amount |
| 5.00 - 5.99 | 30 | Format error |
| 6.00 - 6.99 | 91 | Issuer or switch is inoperative |
| 7.00 - 7.99 | 96 | System Malfunction |
| 8.00 - 8.99 | Timeout | |
| 30.00 - 40.00 | 01 | Refer to card issuer |
| 50.00 - 70.00 | 04 | Pick Up |
| 80.00 - 90.00 | 05 | Do not Honour |
| 100.00 - 110.00 | 13 | Invalid amount |
| 120.00 - 130.00 | 30 | Format error |
| 140.00 - 150.00 | 91 | Issuer or switch is inoperative |
| 160.00 - 170.00 | 96 | System Malfunction |
| 180.00 - 190.00 | Timeout | |
| 10000.65 - 10000.65 | 65/1A | Soft Decline |
Получаване на отговор: borica_response.php
Responce Codes ISO-8583
| Code | Meaning |
|---|---|
| 0 | Successful approval/completion or that VIP PIN verification is valid |
| 1 | Refer to card issuer |
| 2 | Refer to card issuer, special condition |
| 3 | Invalid merchant or service provider |
| 4 | Pickup |
| 5 | Do not honor |
| 6 | General error |
| 7 | Pickup card, special condition (other than lost/stolen card) |
| 8 | Honor with identification |
| 9 | Request in progress |
| 10 | Partial approval |
| 11 | VIP approval |
| 12 | Invalid transaction |
| 13 | Invalid amount (currency conversion field overflow) or amount exceeds maximum for card program |
| 14 | Invalid account number (no such number) |
| 15 | No such issuer |
| 16 | Insufficient funds |
| 17 | Customer cancellation |
| 18 | Customer dispute |
| 19 | Re-enter transaction |
| 20 | Invalid response |
| 21 | No action taken (unable to back out prior transaction) |
| 22 | Suspected Malfunction |
| 23 | unacceptable transaction fee |
| 24 | File update not supported by receiver |
| 25 | Unable to locate record in file, or account number is missing from the inquiry |
| 26 | Duplicate file update record, old record replaced |
| 27 | File update field edit error |
| 28 | File is temporarily unavailable |
| 29 | File update not successful, contact acquirer |
| 30 | Format error |
| 31 | Bank not supported |
| 32 | Completed partially |
| 33 | Expired card |
| 34 | Suspected fraud |
| 35 | Card acceptor contact acquirer |
| 36 | Restricted card |
| 37 | Card acceptor call acquirer security |
| 38 | Allowed PIN tries exceeded |
| 39 | No credit account |
| 40 | Requested function not supported |
| 41 | Merchant should retain card (card reported lost) |
| 42 | No universal account |
| 43 | Merchant should retain card (card reported stolen) |
| 51 | Insufficient funds |
| 52 | No checking account |
| 53 | No savings account |
| 54 | Expired card |
| 55 | Incorrect PIN |
| 56 | No Card Record |
| 57 | Transaction not permitted to cardholder |
| 58 | Transaction not allowed at terminal |
| 59 | Suspected fraud |
| 61 | Activity amount limit exceeded |
| 62 | Restricted card (for example, in country exclusion table) |
| 63 | Security violation |
| 65 | Activity count limit exceeded |
| 68 | Response received too late |
| 75 | Allowable number of PIN-entry tries exceeded |
| 76 | Unable to locate previous message (no match on retrieval reference number) |
| 77 | Previous message located for a repeat or reversal, but repeat or reversal data are inconsistent with original message |
| 78 | ’Blocked, first used’—The transaction is from a new cardholder, and the card has not been properly unblocked. |
| 80 | Visa transactions: credit issuer unavailable. Private label and check acceptance: Invalid date |
| 81 | PIN cryptographic error found (error found by VIC security module during PIN decryption) |
| 82 | Negative CAM, dCVV, iCVV, or CVV results |
| 83 | Unable to verify PIN |
| 85 | No reason to decline a request for account number verification, address verification, CVV2 verification; or a credit voucher or merchandise return |
| 91 | Issuer unavailable or switch inoperative (STIP not applicable or available for this transaction) |
| 92 | Destination cannot be found for routing |
| 93 | Transaction cannot be completed, violation of law |
| 94 | Duplicate transmission |
| 95 | Reconcile error |
| 96 | System malfunction, System malfunction or certain field error conditions |
| B1 | Surcharge amount not permitted on Visa cards (U.S. acquirers only) |
| N0 | Force STIP |
| N3 | Cash service not available |
| N4 | Cashback request exceeds issuer limit |
| N7 | Decline for CVV2 failure |
| P2 | Invalid biller information |
| P5 | PIN change/unblock request declined |
| P6 | Unsafe PIN |
| Q1 | Card authentication failed |
| R0 | Stop payment order |
| R1 | Revocation of authorization order |
| R3 | Revocation of all authorizations order |
| XA | Forward to issuer |
| XD | Forward to issuer |
| Z3 | Unable to go online |
| -1 | A mandatory request field is not filled in |
| -2 | Bad CGI request |
| -3 | Acquirer host (NS) does not respond or wrong format of e-gateway response template file |
| -4 | No connection to the acquirer host (NS) |
| -9 | Error in the "Card expiration date" request field |
| -11 | Error in the "Currency" request field |
| -12 | Error in the "Merchant ID" request field |
| -15 | Error in the "RRN" request field |
| -17 | The terminal is denied access to the e-Gateway |
| -19 | Error in the authentication information request or authentication failed |
| -20 | A permitted time interval (1 hour by default) between the transaction Time Stam prequest field and the e-Gateway time is exceeded |
| -21 | The transaction has already been executed |
| -24 | Transaction context mismatch |
| -25 | Transaction canceled (e.g. by user) |
| -27 | Invalid merchant name |
| -32 | Duplicate declined transaction |