What does the error message Source Disabled mean?

We are seeing the following error message on between 5-10% of transactions we attempt to process, and I haven't been able to find any documentation to help explain it. Can you tell me what it means and how it might be avoided? Tabapay action failed; action=create_transaction, errorCode=3C55602E, errorMessage=Source Disabled

Create Account returns SC:403, EM:Permission

We're trying to create an Account for PUSHING to. This is the body we send out in OOP style: ``` CreateAccountRequest( referenceID=OPKRSTUVWXY--e, card=Card( accountNumber=9400111999999990, expirationDate=202412, keyID=null, data=null, token=null, device=null ), bank=null, owner=Owner( name=Name( company=null, first=Tester, middle=null, last=Employee, suffix=null ), address=null, phone=null ) ) ``` This is the response we get: ``` { SC: 403, EC: "3C4E1491", EM: "Permission" } Any clues? Thanks! ```

iOS 3DS challenge Flow callback

I am following the https://developers.tabapay.com/reference/how-to-use-the-3ds-sdk-starter-guide to implement 3DS. I am able to successfully create Frictionless transactions as well as transactions that have Step up/Challenge response. However, the behavior I am seeing is slightly different from what the guide states. When I use sandbox test card for lookup Challenge/StepUp from https://developers.tabapay.com/reference/test-cases specifically 4000000760000002, I get the challenge and I get the JWT in the callback but the validateResponse is nil. I am able to successfully create transactions with the JWT returned in this callback, but there is no way to check the actionCode ``` func cardinalSession(cardinalSession session: CardinalSession!, stepUpValidated validateResponse: CardinalResponse!, serverJWT: String!) { switch validateResponse.actionCode { case .success: // Handle successful transaction, send JWT to backend to verify break case .noAction: // Handle no actionable outcome break case .failure: // Handle failed transaction attempt break case .error: // Handle service level error break case .cancel: // Handle transaction canceled by user break case .timeout: // Handle transaction timedout break } } ``` Am I doing something wrong or should I ignore the `validateResponse.actionCode` in step 12 of this guide. Thanks!

iOS 3DS SDK invalid Signature error

I am trying to test the 3DS flow for Tabapay in our DEV environmnet. However, I am not able to successfully initialize the Cardinal Mobile SDK, I am getting Invalid Signature error. I trying to create a new transaction with these values { "variables": { "pullTransactionInputDTOInput": { "amount": 75, "cvv": "543", "memo": null }, "cardId": "b64c08fc-dc7a-47bb-b4c1-d115e5fba34b" } } In response I get the JWT from the server that looks like: { "data": { "pullFundsFromExistingCardV2": { "__typename": "LinkedCardTransactionResponseDTO", "linkedCardTransaction": null, "transactionSession": { "__typename": "LinkedCardTransactionSessionDTO", "challengeUrl": null, "deviceCollectionUrl": "https://centinelapistag.cardinalcommerce.com/V1/Cruise/Collect", "jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJPYmplY3RpZnlQYXlsb2FkIjpmYWxzZSwiT3JnVW5pdElkIjoiNjAxZGIyZGIzZTJiYzQxN2I4NjNjYTIxIiwiUGF5bG9hZCI6IntcIk9yZGVyRGV0YWlsc1wiOntcIk9yZGVyTnVtYmVyXCI6XCIyekR1anVRd3FWV2FKMzZcIixcIkFtb3VudFwiOlwiNzYxM1wifX0iLCJSZWZlcmVuY2VJZCI6IjQ1OWY4MGM4LTE0MTMtNDZiMC1iMjRkLTU4MmY2M2QyZmY3OCIsImlhdCI6MTY2NzQxMjI3Mi40Mjc1MzcsImlzcyI6IjYwMjE2ODg5MzE2MTQ2MzNjMDkwNzUzZCIsImp0aSI6IjIwMjIxMDI5MTg0OTA1MDAzMDYifQ.VRQlkmoy6QLeD9JTvFamSIZbupHo04wVmDlotweTHGc", "payload": null, "secureId": "FUjGQebsTQnc85wxgynuoDsVyqQOvlXk7NGorubd14czTzfFxPu_MyAwFVs5h5zYQxlRB1nVrNU", "transactionId": null, "transactionSessionId": "b8d9343f-e4f9-4189-a379-aa98e9ff360f", "transactionSessionState": "DEVICE_CHECK" } } } } I then try to setup the Cardinal session with the jwt I got from the server (which calls https://centinelapi.cardinalcommerce.com/V1/Order/JWT/Init with the follow body) { "Client": { "Agent": "CardinalMobileSdk_iOS", "Version": "2.2.5-4" }, "BrowserPayload": { "Order": {}, "SupportsAlternativePayments": { "cca": true } }, "ConsumerSessionId": "", "ServerJWT": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJPYmplY3RpZnlQYXlsb2FkIjpmYWxzZSwiT3JnVW5pdElkIjoiNjAxZGIyZGIzZTJiYzQxN2I4NjNjYTIxIiwiUGF5bG9hZCI6IntcIk9yZGVyRGV0YWlsc1wiOntcIk9yZGVyTnVtYmVyXCI6XCIyekR1anVRd3FWV2FKMzZcIixcIkFtb3VudFwiOlwiNzYxM1wifX0iLCJSZWZlcmVuY2VJZCI6IjQ1OWY4MGM4LTE0MTMtNDZiMC1iMjRkLTU4MmY2M2QyZmY3OCIsImlhdCI6MTY2NzQxMjI3Mi40Mjc1MzcsImlzcyI6IjYwMjE2ODg5MzE2MTQ2MzNjMDkwNzUzZCIsImp0aSI6IjIwMjIxMDI5MTg0OTA1MDAzMDYifQ.VRQlkmoy6QLeD9JTvFamSIZbupHo04wVmDlotweTHGc" } and the response is: { "ErrorNumber": 1010, "Message": "Invalid Signature. Your request contains an invalid signature." } Do you know what could be going wrong here with the setup?

Query Card returns 400/Timeout

We're trying to do Card Query with AVS. This is the body we send out in OOP style: ``` QueryCardRequest( queryAvs=true, queryFees=false, account=null, card=Card( accountNumber=null, expirationDate=null, securityCode=null, keyID=null, data=null, token=80FQzaN7Ms5lCq8..., device=null, mobilePay=null ), owner=Owner( name=Name( company=null, first=John, middle=null, last=Doe, suffix=null ), address=Address( line1=null, line2=null, city=null, state=null, zipcode=94110, country=null ), phone=null ), currency=null, amount=null, timeout=0 ) ``` We're getting: ``` { "SC": 400, "EC": "3C3E1291", "EM": "Timeout" } ``` Any clues? Gateway timeouts are usually 504 according to https://developers.tabapay.com/reference/http-status-codes.

Query Card retunrs 409

Use token, firstName, lastName, zipCode params and send a query with AVS , and got a 409 status code with following response. ``` { "SC": 409, "EC": "3C3E1301", "EM": "card" } ```

What does error Card Data PK refer to?

What does error 400 Card Data PK refer to? Can you please explain?

503 Service Unavailable for Processor on Pull/Push

Just had one other question. When doing a push using our processor (Galileo) specific token/PRN, it appears to return 503 Service Unavailable. The endpoint we are using is create transaction. Was curious if this is a Galileo or TabaPay bug. Here is what is being returned. Thanks again for all your help and quick replies, it's really appreciated 🙂 🙂 . { "status": 503, "statusText": "Service Unavailable", "body": { "SC": 503, "EC": "3C5C4051", "EM": "Processor Currently Unavailable" } }

Fees flag on Query Card is not working

When querying a card for fees, it appears that the Fees object is no being returned. The AVS flag is working though, but including "Fees" doesn't. Just wanted to verify that this is working. Any help would be great. Here is the endpoint: [POST] https://api.sandbox.tabapay.net:10443/v1/clients/CLIENT_ID/cards?Fees%2BAVS Response: { "SC": 200, "EC": "0", "card": { "pull": { "enabled": true, "network": "Visa", "type": "Debit", "regulated": true, "currency": "840", "country": "840" }, "push": { "enabled": true, "network": "Visa", "type": "Debit", "availability": "Next Business Day", "regulated": true, "currency": "840", "country": "840" }, "bin": "400000", "last4": "0002", "nameFI": "Bank TabaPay" } }

Retrieve Account Failure

GET `/v1/clients/{clientId}/accounts/{accountId}?RejectDuplicateCard` Returns ``` { "type":"http://api.etip-staging.etip.io/errors/bad_request", "title":" Bad Request", "status":400, "detail": "Unhandled tabapay response: { \"SC\":410, \"EC\":\"3A454002\", \"EM\":\"Status\" } } ``` It was working fine before. Is it because we've hit the endpoint too many times in a time period?