Giter Club home page Giter Club logo

omnipay-tatra's Introduction

Omnipay Tatra module

ComfortPay

ChargeRequest

Method to create transaction with registered card.

Parameters:
  • transactionId (required) - Unique ID of transaction
  • parentTransactionId (optional) - Unique ID of parent transaction. Mandatory for transactionType PREAUTH-CONFIRM, PREAUTH-CANCEL and CHARGEBACK
  • transactionType (required) - transaction type, allowed options: PURCHASE, PREAUTHORIZATION, PREAUTH-CONFIRM, PREAUTH-CANCEL, CHARGEBACK
  • referedCardId (required) - The registration ID of card
  • ws (required) - Merchant ID
  • terminalId (required) - Terminal ID
  • amount (required) - Amount of transaction
  • currency (required) - Currency of transaction (ISO 4217 currency codes)
  • vs (required if e2eReference is empty) - Variable symbol
  • ss (required if e2eReference is empty) - Specific symbol
  • e2eReference (required if vs and ss are empty) - E2E reference
  • submerchantId (required only if sending IPSPS Data)- IPSP Data - Submerchant ID
  • location (required only if sending IPSPS Data) - IPSP Data - Location, string max length 25 symbols
  • city (required only if sending IPSPS Data) - IPSP Data - city, string max length 13 symbols
  • alpha2CountryCode (required only if sending IPSPS Data) - IPSP Data - ISO 3166-1 alpha-2 code
Return:

CardTransactionResponse

  • transactionId - Unique ID of transaction
  • transactionStatus - Status code of transaction (see transaction's status codes)
  • transactionApprova - Autorization code

CheckCardRequest

Method to check the status of registered card.

Parameters:
  • idOfCard - The registration ID of card
Return:

CheckCardResponse

  • status - (OK, FAIL, UNKNOWN)

TransactionStatusRequest

Method to check the status of transaction.

Parameters:
  • transactionId - Unique ID of transaction
Return:

CardTransactionResponse

  • transactionId - Unique ID of transaction
  • transactionStatus - Status code of transaction (see transaction's status codes)
  • transactionApproval - Autorization code

ListOfExpiredRequest

Method to get the list of expired cards with expiration date after requested one.

Parameters:
  • expDate (required) - Expiration date (format: YYYYMMDD)
Return:

ListOfExpiredResponse

  • list - array of card ids
ListOfExpiredPerIdRequest

Method to get the expiration date of cards specified in request.

Parameters:
  • listOfIdCards - array of card registration IDs (max 1000)
Return:

ListOfExpiredPerIdResponse

  • listOfIdCards - array of pairs idOfCard and expiration date
Transaction's status codes
Transaction status code Description Result
<0 Not finished yet InProgress
00 Approved Approve
04 Pick up card Pickup
05 Do not honour Decline
14 Invalid card number Decline
51 Not sufficient funds Decline
54 Expired card Decline
57 Transaction not allowed for cardholder Decline
61 Exceeds withdrawal amount limit Decline

omnipay-tatra's People

Contributors

davidkoberan avatar lubos-michalik avatar lulco avatar markoph avatar matefko avatar rootpd avatar tomaj avatar zoldia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

omnipay-tatra's Issues

Parameter AREDIR

There is a typo in function

public function getAredir()
{
    return $this->getParameter('aredis');
}

also add transformation for boolean value for this parameter.

Handle comfortpay SoapFault

Based on the latest doc (2.0.4), Comfortpay can return SoapFault (exceptions) with error codes with the real meaning:

  • 50000 Všeobecná chyba počas spracovania transakcie Decline
  • 50001 Došlo k timeoutu počas spracovania In progress
  • 50051 Neexistujúce CID Decline
  • 50052 Nekorektné Merchant ID Decline
  • 50053 Záporná hodnota amount Decline
  • 50054 Duplicitné transaction ID Decline
  • 50055 Nekorektný VS/SS– presahuje 10 digits Decline
  • 50056 Nekorektná E2E – viac ako 35 znakov Decline
  • 50057 Chyba parentTransactionId Decline
  • 50058 Nekorektný VS/SS obsahuje AN znaky Decline
  • 50059 1. Presiahnutá suma pôvodnej autorizácie Decline
  • 50060 Neexistujúca parent transakcia (s daným VS/E2E, typom, stavom, menou, nie staršia ako 365 dní)

The error response can look like this:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:types="urn:tatrabanka:ibanking:Types" xmlns:teleplatba="urn:tatrabanka:ibanking:Teleplatba" xmlns:vposCommon="http://www.ri-rpc.sk/cmsdd/aim/common" xmlns:vposAuth="http://www.ri-rpc.sk/cmsdd/aim/vposAuth" xmlns:vposAuthFollow="http://www.ri-rpc.sk/cmsdd/aim/vposAuthFollow" xmlns:vposAuthResponse="http://www.ri-rpc.sk/cmsdd/aim/vposAuthResponse">
    <SOAP-ENV:Body>
        <SOAP-ENV:Fault>
            <SOAP-ENV:Code>
                <SOAP-ENV:Value>SOAP-ENV:Receiver</SOAP-ENV:Value>
            </SOAP-ENV:Code>
            <SOAP-ENV:Reason>
                <SOAP-ENV:Text xml:lang="en"></SOAP-ENV:Text>
            </SOAP-ENV:Reason>
            <SOAP-ENV:Detail>
                <types:ExceptionType>
                    <method>checkCard</method>
                    <file>ImplFile</file>
                    <line>2022</line>
                    <errorCode>50000</errorCode>
                    <subsystemId>19</subsystemId>
                    <subsystemErrorCode>0</subsystemErrorCode>
                    <message></message>
                </types:ExceptionType>
            </SOAP-ENV:Detail>
        </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

To correctly handle these cases, library should probably catch SoapFault and extract errorCode from the response, same way as it extracts transactionStatus in successful payment.

special characters in "name"

please implement check rules for parameters based on documentation
name - Meno nesmie obsahovať diakritiku. Povolené znaky: 0-9, a-z, A-Z, medzera, bodky, pomlčka, podčiarkovník, @

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.