...
These parameters will be sent in the request body. (POST method)
Parameter | Data Type | Description |
|
---|---|---|---|
Request | Text | verifyToken | Mandatory |
CompanyToken | Text (Token - UUID) | Token you got from 3G to operate this API | Mandatory |
TransactionToken | Text (Token - UUID) | Transaction token as accepted from the URL redirected | Mandatory or Optional if CompanyRef is sent |
CompanyRef | Text | Company reference number | Mandatory or Optional if TransactionToken is sent |
VerifyTransaction | Boolean (1/0) Default - 1 | By default, the system will verify the transaction and mark it as “website verified” in 3G systems.This option should be set to false if you only want to verify the transaction was made, process the details and then you can send the verifyToken again with this parameter set to true to let 3G systems know that you have successfully processed the client.Send 1 to verify, 0 if you don't need. | Optional |
ACCref | Text | Internal accounting reference number. | Optional |
customerPhone | Text | Customer phone number can be updated | Optional / Mandatory if customerPhonePrefix sent |
customerPhonePrefix | Number | Customer phone prefix (without +) | Optional / Mandatory if customerPhone sent |
customerEmail | Text | Customer E-mail address can be updated | Optional |
The Flow
After the user will send the relevant fields, the fields will be validated
If all the fields will pass the validations, the transaction’s details will be responded back to the user as an XML response.
If one of the fields will fail the validation, an error will be responded accordingly as an XML response with the proper error message
...
Code Block |
---|
<?xml version="1.0" encoding="utf-8"?> <API3G> <Request>verifyToken</Request> <CompanyToken>{CompanyToken}</CompanyToken> <TransactionToken>{transToken}</TransactionToken> <CompanyRef>{CompanyRef}</CompanyRef> <VerifyTransaction>{VerifyTransaction}</VerifyTransaction> <ACCref>{ACCref}</ACCref> <customerPhone>{customerPhone}</customerPhone> <customerPhonePrefix>{customerPhonePrefix}</customerPhonePrefix> <customerEmail>{customerEmail}</customerEmail> </API3G> |
for example:
Code Block |
---|
<API3G>
<CompanyToken>90EC1DA4-A7C5-432C-930C-098715D3130E</CompanyToken>
<Request>verifyToken</Request>
<TransactionToken>6253BFCA-848B-4884-A5FA-68E425643BD1</TransactionToken>
</API3G> |
Response (XML)
Success
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?> <API3G> <Result>000</Result> <ResultExplanation>Transaction paid<Paid</ResultExplanation> <TransactionCreatedDate>2019-12-25 12:45:49</TransactionCreatedDate> <TransactionSettlementDate>2013/12/31</TransactionSettlementDate> <TransactionRollingReserveAmount>5</TransactionRollingReserveAmount> <TransactionRollingReserveDate>2014/12/31</TransactionRollingReserveDate> <TransactionExpiryDate>2020-02-03 12:00:00</TransactionExpiryDate> <TransactionPaymentDate>2019-12-25 12:47:30</TransactionPaymentDate> <CustomerName>nathan nathan</CustomerName> <CustomerPhone>254123456789</CustomerPhone> <CustomerCountry>KE</CustomerCountry> <CustomerAddress>Stranfe blvd.</CustomerAddress> <CustomerCity>Nairobi</CustomerCity> <CustomerZip>AH1</CustomerZip> <CustomerEmail>nathan@aerocrs.com</CustomerEmail> <CustomerPhone></CustomerPhone> <PaymentType>Card</PaymentType> <CardType>Mastercard</CardType> <ApprovalNumber>4444444447</ApprovalNumber <CardLastFour>8367</CardLastFour> <TransactionAmount>1.00</TransactionAmount> <TransactionCurrency>USD</TransactionCurrency> <PartPaymentRef>0</PartPaymentRef> <AllocationAmount>850</AllocationAmount> <AllocationCode>demo1</AllocationCode> <CompanyRef>dess</CompanyRef> <CompanyAccRef>ABC123REF</CompanyAccRef> <TransactionRef>8412B4A0</TransactionRef> <ServiceDescription>Test Product</ServiceDescription> <ServiceDate>2013/12/25 09:00</ServiceDate> <TransactionFraudAlert>004</TransactionFraudAlert> <TransactionFraudExplanation>Very high risk</TransactionFraudExplanation> <TransactionFinalAmount>1.00</TransactionFinalAmount> <TransactionFinalCurrency>USD</TransactionFinalCurrency> <CardFirstSix>511221</CardFirstSix> <TransactionCreatedDate>2024/01/03 09:11:44</TransactionCreatedDate> <TransactionSettlementDate>2024/01/17</TransactionSettlementDate> <TransactionRollingReserveAmount>0.00</TransactionRollingReserveAmount> <TransactionRollingReserveDate>2024/01/03</TransactionRollingReserveDate> <TransactionExpiryDate>2024/01/04 00:11:44</TransactionExpiryDate> <TransactionPaymentDate>2024/01/03 09:14:52</TransactionPaymentDate> <CustomerName>vv vv</CustomerName> <CustomerPhone>203888888888</CustomerPhone> <CustomerCountry>Israel</CustomerCountry> <CustomerAddress>6666</CustomerAddress> <CustomerCity>ee</CustomerCity> <CustomerZip>e</CustomerZip> <CustomerEmail>ei@gmail.com</CustomerEmail> <PaymentType></PaymentType> <CardType>MASC</CardType> <ApprovalNumber>400309113213</ApprovalNumber> <CardLastFour>0008</CardLastFour> <CardFirstSix>51234500</CardFirstSix> <TransactionAmount>44.7947</TransactionAmount> <TransactionCurrency>AED</TransactionCurrency> <PartPaymentRef>0</PartPaymentRef> <AllocationAmount>1.3047</AllocationAmount> <AllocationCode>demo1</AllocationCode> <CompanyRef>49FYTA9009</CompanyRef> <CompanyAccRef>OTC9L5_992404700</CompanyAccRef> <TransactionRef>R4981192</TransactionRef> <ServiceDescription>Refill account</ServiceDescription> <ServiceDate></ServiceDate> <TransactionFraudAlert>001</TransactionFraudAlert> <TransactionFraudExplanation>Low Risk (Not checked)</TransactionFraudExplanation> <TransactionFinalAmount>44.7947</TransactionFinalAmount> <TransactionFinalCurrency>AED</TransactionFinalCurrency> </API3G> |
Error
Code Block |
---|
<?xml version="1.0" encoding="UTF-8"?> <API3G> <Code>950</Code> <Explanation>Request missing transaction level mandatory fields - fieldName </Explanation> </API3G> |
Response Codes
Code | Explanation |
---|---|
000 | Transaction Paid |
001 | Authorized |
002 | Transaction overpaid/underpaid |
007 | Pending Split Payment (Part Payment Transactions not fully paid) |
801 | Request missing company token |
802 | Company token does not exist |
803 | No request or error in Request type name |
804 | Error in XML |
900 | Transaction not paid yet |
901 | Transaction declined |
902 | Data mismatch in one of the fields - field (explanation) |
903 | The transaction passed the Payment Time Limit |
904 | Transaction cancelled |
950 | Request missing transaction level mandatory fields – field (explanation) |
Fraud Alert Codes:
Code | Explanation |
---|---|
000 | Genuine transaction |
002 | Suspected Fraud Alert |
003 | Fraud alert cleared (Merchant marked as clear) |
004 | Suspect Fraud Alert |
005 | Fraud alert cleared (Genuine transaction) |
006 | Black - Fraudulent transaction |