• User Documentation 
  • Amaryllis Release Notes 
  • For Developers 

  • User Documentation 
  • Amaryllis Release Notes 
  • For Developers 

Heartland - Dev Portal

  • folder icon closed folder iconIntroduction
  • folder icon closed folder iconAuthentication
  • folder icon closed folder iconManagement
    • Getting Started
    • Platform Accounts Management
      • Get Platform Account Configuration
      • Get Platform Account
      • Create Platform Account
      • Update Platform Account
      • Objects Reference
    • Sub-Accounts Management
      • Get Sub-Account Configurations
      • Get Sub-Account
      • Create Sub-Account
      • Update Sub-Account
      • Objects Reference
    • Users Management
      • Get User by User Id
      • Get User by Username
      • Create User
      • Update User
      • Objects Reference
    • Underwriting Management
      • Get Application
      • Get Application Template
      • Get Application Fields Statuses
      • Get Application Status
      • Get Linked Sub-Accounts
      • Get Resubmission
      • UMS IFrame Authentication
      • UMS IFrame
      • UMS IFrame Authentication in Resubmission Mode
      • UMS IFrame in Resubmission Mode
      • Create Application
      • Update Application
      • Update Application Fields Statuses
      • Update Application Status
      • Objects Reference
      • Response Codes
  • folder icon closed folder iconTransactions Processing
    • Getting Started
    • Credit Card Transactions
      • 3D-Secure
      • Authorization
      • Void
      • Capture
      • Charge
      • Refund
      • Credit
      • Verify
      • Chargeback
      • Cancel
    • Update
    • Adjustment
    • Recurring
    • ACH
    • Response
    • Response Codes
    • Objects Reference
  • folder icon closed folder iconTransactions Echo
    • Getting Started
    • Credit Card Transactions
      • Authorization
      • Void
      • Capture
      • Charge
      • Refund
      • Credit
      • Verify
      • Chargeback
      • Cancel
    • Update
    • Adjustment
    • ACH
    • Echo Response
    • Response Codes
    • Objects Reference
  • folder icon closed folder iconTokenization
    • Processing with a Token
      • Getting Started
      • Processing with Tokenization
    • Tokenization iFrame
      • iFrame Integration
      • iFrame Customization
      • iFrame Testing
      • Response Example
    • Tokenization API
      • Getting Started
      • Tokenization Request
      • Tokenization Response
      • Response Codes
  • folder icon closed folder iconPayouts
    • Getting Started
    • Payout Transactions
    • Response
    • Objects Reference
  • folder icon closed folder iconReports
    • Getting Started
    • Reports API
      • Account Balances
      • Payouts
      • Payouts Reconciliation
      • Transaction Details
      • Settlements
      • Account Summary
      • Transactions
      • Transactions Summary
      • Fees Summary
      • Incoming Fees
      • Expected Future Revenue
      • Profitability Analysis
      • Reconciliation Summary
      • Reconciliation Records
      • Chargeback Analysis
      • Tokens
      • Sign-up Summary
    • Status Codes
  • folder icon closed folder iconErrors
  • folder icon closed folder iconResponse Codes
  1. Home
  2. Docs
  3. Heartland – Dev Portal
  4. Transactions Processing
  5. Credit Card Transactions
  6. 3D-Secure
Updated on June 9, 2023

Heartland - Dev Portal

  • folder icon closed folder iconIntroduction
  • folder icon closed folder iconAuthentication
  • folder icon closed folder iconManagement
    • Getting Started
    • Platform Accounts Management
      • Get Platform Account Configuration
      • Get Platform Account
      • Create Platform Account
      • Update Platform Account
      • Objects Reference
    • Sub-Accounts Management
      • Get Sub-Account Configurations
      • Get Sub-Account
      • Create Sub-Account
      • Update Sub-Account
      • Objects Reference
    • Users Management
      • Get User by User Id
      • Get User by Username
      • Create User
      • Update User
      • Objects Reference
    • Underwriting Management
      • Get Application
      • Get Application Template
      • Get Application Fields Statuses
      • Get Application Status
      • Get Linked Sub-Accounts
      • Get Resubmission
      • UMS IFrame Authentication
      • UMS IFrame
      • UMS IFrame Authentication in Resubmission Mode
      • UMS IFrame in Resubmission Mode
      • Create Application
      • Update Application
      • Update Application Fields Statuses
      • Update Application Status
      • Objects Reference
      • Response Codes
  • folder icon closed folder iconTransactions Processing
    • Getting Started
    • Credit Card Transactions
      • 3D-Secure
      • Authorization
      • Void
      • Capture
      • Charge
      • Refund
      • Credit
      • Verify
      • Chargeback
      • Cancel
    • Update
    • Adjustment
    • Recurring
    • ACH
    • Response
    • Response Codes
    • Objects Reference
  • folder icon closed folder iconTransactions Echo
    • Getting Started
    • Credit Card Transactions
      • Authorization
      • Void
      • Capture
      • Charge
      • Refund
      • Credit
      • Verify
      • Chargeback
      • Cancel
    • Update
    • Adjustment
    • ACH
    • Echo Response
    • Response Codes
    • Objects Reference
  • folder icon closed folder iconTokenization
    • Processing with a Token
      • Getting Started
      • Processing with Tokenization
    • Tokenization iFrame
      • iFrame Integration
      • iFrame Customization
      • iFrame Testing
      • Response Example
    • Tokenization API
      • Getting Started
      • Tokenization Request
      • Tokenization Response
      • Response Codes
  • folder icon closed folder iconPayouts
    • Getting Started
    • Payout Transactions
    • Response
    • Objects Reference
  • folder icon closed folder iconReports
    • Getting Started
    • Reports API
      • Account Balances
      • Payouts
      • Payouts Reconciliation
      • Transaction Details
      • Settlements
      • Account Summary
      • Transactions
      • Transactions Summary
      • Fees Summary
      • Incoming Fees
      • Expected Future Revenue
      • Profitability Analysis
      • Reconciliation Summary
      • Reconciliation Records
      • Chargeback Analysis
      • Tokens
      • Sign-up Summary
    • Status Codes
  • folder icon closed folder iconErrors
  • folder icon closed folder iconResponse Codes

3D-Secure

3D-secure processing flow consists of 4 parts: 

Phase 1 → provide to the client RedirectURL and PaReq for performing request to Issuer Bank page

Phase 2 → perform Post request to Issuer Bank page. Receive paResp by the client from Issuer Bank

Phase 3 → provide to the client threeDSToken, eci, xid, cavv

Phase 4 → process transaction with threeDSToken or eci, xid, cavv

Phase 1. check3DSEnrollment method

Phase 1. check3DSEnrollment method

IMPORTANT:
“check3DSEnrollment” is the method used to initiate a 3DS authentication.

“check3DSEnrollment” Endpoint:

Sandbox URL: TxWs/ATPayTxWS.svc/json/сheck3DSEnrollment

Production URL: TxWs/ATPayTxWS.svc/json/сheck3DSEnrollment

Request Parameters

 NameTypeRequiredDescription
 subAccountIdinteger✓Sub-Account identifier. must be greater than 0.
 accountIdinteger✓Platform Account identifier. must be greater than 0.
 amountdecimal✓Transaction amount. value ≥ 0 (2 decimal places)
 currencyenum✓

CurrencyTypeId.

Available Values:
 
CurrencyId
USD1
EUR2
CAD6
GBP4
AUD5
SGD11
JPY23
NZD32
ILS8
 creditCardobject✓Credit Card data object.

Response Parameters

 NameTypeRequiredDescription
 orderIdstring✓Transaction identifier.
 responseCodeinteger✓System response code.
 responseDescriptionstring✓System response code description.
 paymentTokenstring✓System response code description.
 redirectURLstring✓URL to the issuer bank page.
 paReqstring✓ 

Phase 2. Request to Issuer Bank page

The payment page should redirect the client to the redirectURL provided in check3DSEnrollment response via an HTTP POST request with the following parameters:

  • The variable PaReq containing the value received from the check3DSEnrollment response.
  • The variable MD containing the value of orderId received from the check3DSEnrollment response.
  • The variable TermUrl containing the value of a return URL for 3DS handling on your server.

The customer fills out his code on the bank URL.

The bank URL redirects the customer towards the 3DS handling URL specified by the merchant (in TermUrl) via an HTTP POST request with the following parameters:

  • The variable paRes which holds the value to be submitted in PaResp parameter of the check3DSPaymentResponse call
  • The variable MD with the value of the submitted order ID.

 Phase 3. check3DSPaymentResponse method

IMPORTANT:
“check3DSPaymentResponse” is the method used to verify a 3DS result.

“check3DSPaymentResponse” Endpoint:

Sandbox URL: https://sandbox.4levers.com/TxWs/ATPayTxWS.svc/json/check3DSPaymentResponse

Production URL: https://transactions.4levers.com/ATPayTxWS.svc/json/check3DSPaymentResponse

Request Parameters

 NameTypeRequiredDescription
 subAccountIdinteger✓Sub-Account identifier.
must be greater than 0.
 accountIdinteger✓Platform Account identifier.
must be greater than 0.
 orderIdstring✓Id to match the transaction
 paRespstring✓Request value from issuer bank

Response Parameters

 NameTypeRequiredDescription
 orderIdstring✓Transaction Id of the Phase 2.
 responseCodeinteger✓System response code.
 responseDescriptionstring✓System response code description.
 tokenstring✓3D – Secure token. This parameter is used to indicate if a transaction has been authenticated
 ecistring✓

ECI indicates the result of 3D-secfure authentication process (verification successful/

verification attempted/

unable to verify)

 xidstring✓XID is the id (or code) of the particular authentication
 cavvstring✓CAVV is the authentication verification value

Phase 4. Processing transaction with 3D-Secure

Processing transaction Authorization and Charge can be processed with threeDSecure Token and eci, xid, cavv (depends on payment processor). Look for information about “threeDSecure” object parameters in Auth or Charge sections.

Endpoints:

Sandbox URL: https://sandbox.4levers.com/TxWs/ATPayTxWS.svc/json/Transaction

Production URL: https://transactions.4levers.com/ATPayTxWS.svc/json/Transaction

Authorization

IMPORTANT:
Authorization is not an actual charge; it is only a reservation of a certain amount. Authorizations help reduce the risk of fraudulent transactions and credit card misuse.

Authorization transaction confirms that the Buyer has provided valid payment information and reserves sufficient funding to perform the transaction.

Following a successful Authorization transaction, you will receive a confirmation with the transaction identifier number
TransactionID":"1010000000139894". Use this identifier as a parent transaction identifier (OriginalTransactionId) for all subsequent transactions that derive from the current transaction.

Authorizations may also serve to reserve an amount of money on a credit card balance for security and verification purposes until the actual Deposit transaction is executed.

Authorization transaction may be followed by:

Void (Cancel Authorization) transaction. In this type of transaction, the amount reserved by the Authorization transaction is being released back to the credit card balance.
Released funds are previously reserved funds that now have become available.

Partial Void (Partial Cancel Authorization) transaction. This transaction involves the partial release of the amount reserved by the parent Authorization transaction.

Capture transaction. Capture transaction transfers the previously reserved amount from the buyer’s bank account to the acquirer bank account.

Request Parameters

 NameTypeRequiredDescription
 accountIdinteger✓

Platform Account identifier.

Must be greater than 0.
 amountdecimal✓

Transaction amount.

value ≥ 0 (2 decimal places)
 billingAddressobjectoptionalUser Billing Address data object.
 billingOverrideobjectoptionalData object that contains an array of billingFee objects.
 creditCardobjectconditional

Credit Card data object.

Required if Payment method = CreditCard;
 achobjectconditional

ACH data object.

Required if Payment method = ACH.
 currencyenum✓

CurrencyTypeId.

Available Values:
 
CurrencyId
USD1
EUR2
CAD6
GBP4
AUD5
SGD11
JPY23
NZD32
ILS8
 merchantDataobjectoptionalMerchant Data data object.
 entryModeintegeroptional

Nullable

Transaction entry mode numerical value.
 paymentMethodenum✓

PaymentMethod enum values.

Available Values:
 
creditCard0Credit card payments
ach1ACH payments
 processorDataobjectoptionalProcessor Data data object.
 subAccountIdinteger✓
Sub-Account identifier.
value ≥ 0
 terminalIdstringoptional

Terminal identifier.

MaxLength(20)
 transactionMethodenumoptional

transactionMethodId.

Available Values:
 
RegularTransaction0
MailOrTelephoneOrder1
InternetTransaction2
3DSecureTransaction3
PointOfSaleTransaction4
BillpayTransaction5
RecurringTransaction6
 typeenum✓
TransactionTypeId.
Authorization
 threeDSecureobjectoptional
3D-Secure data object.
				
					//Request example 

{
  "subAccountId": "Sub-Account Id",
  "accountId": "Platform Account Id",
  "amount": 13,
  "currency": "USD",
  "creditCard": {
    "number": "4111111111111",
    "expirationDate": "1220",
    "nameOnCard": "Eleanor Johansson",
    "type": "Visa", 
    "cvv": "123", 
    "tokenization": {
            "type": "Internal",
            "token": "1232535645746" 
            }
    }       
}				
			
				
					//Response example

{
  "orderId":"1234560000789",
  "responseCode": 0,
  "responseDescription":"Operation successful",  
  "paymentToken": "...",
  "redirectURL": "https://example.aspx?ReqType=0",
  "paReq": "eNpVUsFu2zAMvesrchjQ"
}				
			
				
					
//Request example 

{
  "subAccountId": "Sub-Account Id",
  "accountId": "Account Id",
  "orderId": "1618001128118361545",
  "paResp":"eJzNWVmvm9iy/it"
}				
			
				
					//Response example

{
  "orderId": "1666001130505655463",
  "responseCode":"0",
  "responseDescription":"Operation successful",
  "token": "8e86aef68037e8849980"
  "eci": "3",
  "xid": "857e2347c329eec31c75",
  "cavv":"645sd54ad5a5sd65",
  "result": "verified"
}
				
			
Still stuck? How can we help?
Was this page helpful? Yes No

How can we help?

© Amaryllis Payment Solutions, 2022  All rights reserved.