Koje podatke treba da parsiram na stranici sa statusom transakcije?

Kada kupac završi sa plaćanjem na vašem sajtu, poslednji ekran na koji je odveden predstavlja status njegove transakcije. Na ovoj strani on vidi informacije koje se tiču te transakcije. U nastavku pogledajte koje su sve obavezne informacije koje se moraju naći na stranici sa statusom transakcije, ali i u propratnoj e-mail poruci koja stiže kao potvrda transakcije.

  • Informacija o statusu transakcije - opišite kupcu status njegove transakcije. Ako je transakcija uspešno izvršena parsirajte taj podatak iz response poruke koju dobijate od našeg sistema. Ukoliko je transakcija bila neuspešna, podatak će takođe biti vidljiv u poruci. Ova informacija se sastoji iz dva dela. Prvi deo predstavlja "response code"  koji označava transakciju, a drugi deo je opis uspešnosti/razloga za odbijanje transakcije.
  • Broj porudžbine  Ovo predstavlja internu referencu izvršene transakcije kod trgovca. 
  • Iznos i valuta  Sledeća stavka koja treba da se prikaže kupcu jeste iznos koji je platio i valuta naplaćene robe/usluge. Ova informacija se sastoji od dva dela u poruci, u poljima amount currency
  • Informacije o kartici kojom je naplaćeno: Sledeći podatak koji je obavezno prikazati se odnosi na četiri poslednja broja kartice kojom je izvršena naplata - last4Digits. Osim ova četiri broja, potrebno je iz poruke izvući i informaciju paymentBrand koja se odnosi na sam tip kartice. 
  • Autorizacioni kod banke  Svaka transakcija ima poseban autorizacioni kod. On ujedno predstavlja i jedinstvenost svake transakcije. U poruci se dobija u odgovarajućem polju (authCode ili ConnectorTxID3)  i obično sadrži šest karaktera. Potrebno je parsirati samo navedenih 6 karaktera, dok eventualni ostatak treba ignorisati.
  • Timestamp transakcije  U prevodu na Srpski jezik ovo predstavlja "vremenski pečat". On jasno identifikuje datum i vreme kada je transakcija izvršena. Ovo je jedan od obaveznih podataka koji se mora jasno prikazati kupcu, ali kao poslednja informacija. Kod Exchange platforme ovaj podatak se ne nalazi u poruci sa servera, već se ona postavlja od strane trgvca (vreme prijema poruke).

Ukoliko niste sigurni kojim redosledom je potrebno isparsirati podatke, pogledajte primer koji smo spremili za vas:


Podaci o Transakciji:

  • Status: Uspešno plaćanje
  • Broj porudžbine: 8210425021
  • Iznos i valuta: 1000.00 RSD
  • Tip kartice: VISA
  • Autorizacioni kod banke: XXXXXX
  • Vreme transakcije: 2017-02-20 11:53:34+****
Primere "response" poruka za OPEN i za EXCHANGE platformu, to jest njihov sadržaj možete pogledati u nastavku:

EXCHANGE PLATFORMA /v1 XML:

<?xml version="1.0" encoding="utf-8"?>
<callback xmlns="http://asxgw.com/Schema/V2/Callback">
  <result>OK</result>
  <referenceId>edcba123456789012345</referenceId>
  <transactionId>YOUR_TRANSACTION_ID </transactionId>
  <purchaseId>20170120-edcba123456789012345</purchaseId>
  <transactionType>DEBIT</transactionType>
  <merchantMetaData>YOUR_OPTIONAL_META_DATA</merchantMetaData>
  <amount> 4.99 </amount>
  <currency>USD</currency>
  <extraData key="authCode">XXXXXX</extraData>
  <returnData type="creditcardData">
    <creditcardData>
      <type>visa</type>
      <cardHolder>Max Mustermann</cardHolder>
      <expiryMonth>10</expiryMonth>
      <expiryYear>2020</expiryYear>
      <firstSixDigits>411111</firstSixDigits>
      <lastFourDigits>1111</lastFourDigits>
      <fingerprint>ABCXYZ...</fingerprint>
      <threeDSecure>MANDATORY</threeDSecure>
      <eci>05</eci>
      <binBrand>VISA</binBrand>
      <binBank>Issuing Bank</binBank>
      <binCountry>AT</binCountry>
    </creditcardData>
  </returnData>
  <customerData>
    <identification>1111</identification>
    <firstName>John</firstName>
    <lastName>Smith</lastName>
    <billingCountry>AT</billingCountry>
    <email>[email protected]</email>
    <ipAddress>123.123.123.123</ipAddress>
  </customerData>
</callback>


EXCHANGE PLATFORM /v2 json:

{"result":"OK","uuid":"805b6ecda12xxxxxxx","merchantTransactionId":"YOUR_TRANSACTION_ID","purchaseId":"20201218-805b6ecda12e7552cd61","transactionType":"DEBIT","paymentMethod":"Creditcard","amount":"4.99","currency":"EUR","merchantMetaData":"YOUR_OPTIONAL_META_DATA","customer":{"identification":"1111","firstName":"John","lastName":"Smith","emailVerified":"false","ipAddress":"123.123.123.123"},"returnData":{"_TYPE":"cardData","type":"mastercard","cardHolder":"John Smith","expiryMonth":"01","expiryYear":"2020","firstSixDigits":"411111","lastFourDigits":"1111","fingerprint":"ABCXZY...","threeDSecure":"MANDATORY","eci":"02","binBrand":"MASTERCARD","binBank":"Issuing Bank","binType":"DEBIT","binLevel":"STANDARD","binCountry":"US"},"extraData":{"authCode":"XXXXXX"}}  

OPEN PLATFORMA:
payload{
	"id":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
	"paymentType":"DB",
	"paymentBrand":VISA", 
	"amount":"1000.00",
	"currency":"RSD",
	"descriptor":"7567.4447.0226xxxxxxxxxxxxx",
	"merchantTransactionId:"8210425021xxxxxxxxxxxxxxx",
	"result{
		"cvvResponse":"M",
		"code":"000.000000",
		"description" :"transactionsucceeded",
	},
	"resultDetails{
		"ConnectorTxID3":"XXXXXX00",
		"ConnectorTxID2":"xxxxxxxxx744470226********",
		"ConnectorTxID1":"XXXXXXXXXXXXXXXXXXXXX"
	},
	"card{
		"last4Digits":"1234",
		"holder":"Petar Petrovic",
		"expiryMonth":"12",
		"expiryYear":"2019"
	},
	"customer{
		"givenName":"Petar",
		"surname":"Petrovic",
		"ip":"XXXXXXXXXXXXXX"
	},
	"threeDSecure{
		"eci":"05",
		verificationId":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXX=",
		"xid":"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX="
	},
	"customParametes{
		"CTPE_DESCRIPTOR_TEMPLATE":""
	},
	"risk{
		"score":"0"
	},
	"buildNumber":"XXXXXXXXXXXXXXXXXXXXXXXX@2017-02-16 12:25:35 +****",
	"timestamp"2017-02-2011:53:34+****",
	"ndc":"XXXXXXXXXXXXXXXXXXXXXXXXXXXX.lon-vm-tx08"
}