Cryptocurrency Indicator

  Last updated: 

 

This page outlines the specification for the cryptocurrencyindicator field. This field acts as a flag to determine whether or not a transaction is for the purpose of purchasing cryptocurrency.

  This functionality is supported for merchants with a Trust Payments acquiring account. If you are using a different acquiring bank, you will need to contact our Support Team to check this feature is supported before proceeding.

Requirement: Your merchant category code must be 6051.

  Your Merchant Category Code (MCC) is a four-digit number assigned to you by your acquirer. It is used to classify the business by the type of products or services it provides. If you are unsure of the value of your merchant category code, please contact our Support Team.

 

Process overview

There are two methods that can be used to include the cryptocurrencyindicator field in requests submitted to the acquiring bank:

  1. By assigning default values on your account
    Using this method, the cryptocurrencyindicator field is automatically included in transactions processed on your account, with no additional configuration required. To configure your account to use this method, contact our Support Team, requesting that your site is set up with your preferred default cryptocurrencyindicator field value (this is described in greater detail below).
  2. By manually including the cryptocurrencyindicator field in your requests
    Using this method allows you to specify different values on a request-by-request basis. To configure your account to use this method, update your requests using the specification provided below.

 

Submitting cryptocurrencyindicator in a request

Payment Pages

The cryptocurrency indicator fields can be included in the POST to Payment Pages, as shown in the following example:

<html>
<body>
<form method="POST" action="<DOMAIN>/process/payments/choice">
<input type="hidden" name="sitereference" value="test_site12345">
<input type="hidden" name="stprofile" value="default">
<input type="hidden" name="currencyiso3a" value="USD">
<input type="hidden" name="mainamount" value="100.00">
<input type="hidden" name="version" value="2">
<input type="hidden" name="cryptocurrencyindicator" value="1">

<input type="submit" value="Pay">
</form>
</body>
</html>

Replace <DOMAIN> with a supported domain. Click here for a full list.

JavaScript Library

You will need to update the payload submitted within your JWT to include an additional field, as shown below. Submitting the cryptocurrencyindicator in this way will always override any value stored on your account or inherited from a parent.

{
"payload":{
"accounttypedescription":"ECOM",
"baseamount":"1050",
"currencyiso3a":"GBP",
"sitereference":"test_site12345",
"requesttypedescriptions":["THREEDQUERY","AUTH"],
"cryptocurrencyindicator":"1"
},
"iat":1559033849,
"iss":"jwt.user"
}
TRU Mobile (SDK)

You will need to update the payload submitted within your JWT to include an additional field, as shown below. Submitting the cryptocurrencyindicator in this way will always override any value stored on your account or inherited from a parent.

{
"payload":{
"accounttypedescription":"ECOM",
"baseamount":"1050",
"currencyiso3a":"GBP",
"sitereference":"test_site12345",
"termurl":"https:\/\/payments.securetrading.net\/process\/payments\/mobilesdklistener",
"requesttypedescriptions":["THREEDQUERY","AUTH"],
"cryptocurrencyindicator":"1"
},
"iat":1559033849,
"iss":"jwt.user"
}
Webservices API

You will need to update the request as shown below. Submitting the cryptocurrencyindicator in this way will always override any value stored on your account or inherited from a parent.

Python PHP cURL Raw JSON Raw XML
#!/usr/bin/python
import securetrading

stconfig = securetrading.Config()
stconfig.username = "webservices@example.com"
stconfig.password = "Password1^"
st = securetrading.Api(stconfig)

auth = {
"sitereference": "test_site12345",
"requesttypedescriptions": ["AUTH"],
"accounttypedescription": "ECOM",
"currencyiso3a": "GBP",
"baseamount": "1050",
"orderreference": "My_Order_123",
"billingfirstname": "Joe",
"billinglastname": "Bloggs",
"cryptocurrencyindicator": "1",
"pan": "4111111111111111",
"expirydate": "12/2020",
"securitycode": "123"
}

strequest = securetrading.Request()
strequest.update(auth)
stresponse = st.process(strequest) #stresponse contains the transaction response

 

Field specification

  Field Format Description
X3-EN.png cryptocurrencyindicator
XPath: /operation/cryptocurrencyindicator
Numeric (1)

Indicates if transaction is flagged as a purchase of cryptocurrency:

  • 1 – Transaction is flagged as cryptocurrency purchase.
  • 0 – Transaction is not flagged as cryptocurrency purchase.

Note: Your site can be configured to automatically submit this flag with value 0 or 1 in every transaction by default. (Please contact our Support Team to make this change).

 

Additional notes

Supported request types

The cryptocurrencyindicator field can be submitted in the following requests:

  • ACCOUNTCHECK
  • AUTH
  • THREEDQUERY

Click here for a full list of request types.

 

Inheriting from parent requests

If you do not submit the cryptocurrencyindicator field in a request, and a parent transaction reference is specified, it is inherited from said parent.

Was this article helpful?
0 out of 0 found this helpful