Custom digital wallets
This page outlines the specification for custom digital wallet fields.

Before getting started, you will need to contact our Support team and request that the digital wallet functionality is enabled on your account. Then you can update your requests using the following specification.
Submitting digital wallet fields in a request

The following is an example of a request where digital wallet fields are included:
<html> <head> </head> <body> <!--YOUR HTML--> <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="orderreference" value="myorder12345"> <input type="hidden" name="sitesecurity" value="hee879a9ab97753b3a768925d50842f10e19fea03fef0b820026b6df92d415866"> <input type="hidden" name="sitesecuritytimestamp" value="2019-05-28 14:22:37"> <input type="hidden" name="walletsource" value="OTHER"> <input type="hidden" name="walletid" value="A23"> <input type="submit" value="Pay"> </form> </body> </html>
{"payload":{"accounttypedescription":"ECOM","baseamount":"1050","currencyiso3a":"GBP","sitereference":"test_site12345","walletsource":"OTHER","walletid":"A23","requesttypedescriptions":["THREEDQUERY","AUTH"]},"iat":1559033849,"iss":"jwt.user"}
{"payload":{"accounttypedescription":"ECOM","baseamount":"1050","currencyiso3a":"GBP","sitereference":"test_site12345","termurl":"https:\/\/payments.securetrading.net\/process\/payments\/mobilesdklistener","walletsource":"OTHER","walletid":"A23","requesttypedescriptions":["THREEDQUERY","AUTH"]},"iat":1559033849,"iss":"jwt.user"}
#!/usr/bin/python import securetrading stconfig = securetrading.Config() stconfig.username = "[email protected]" stconfig.password = "Password1^" st = securetrading.Api(stconfig) auth = { "sitereference": "test_site12345", "requesttypedescriptions": ["AUTH"], "accounttypedescription": "ECOM", "currencyiso3a": "GBP", "baseamount": "1050", "orderreference": "My_Order_123", "walletid": "ABC", "walletsource": "OTHER", "pan": "5100000000000511", "expirydate": "12/2020", "securitycode": "123" } strequest = securetrading.Request() strequest.update(auth) stresponse = st.process(strequest) #stresponse contains the transaction response
<?php if (!($autoload = realpath(__DIR__ . '/../../../autoload.php')) && !($autoload = realpath(__DIR__ . '/../vendor/autoload.php'))) { throw new Exception('Composer autoloader file could not be found.'); } require_once($autoload); $configData = array( 'username' => '[email protected]', 'password' => 'Password1^', ); $requestData = array( 'sitereference' => 'test_site12345', 'requesttypedescriptions' => array('AUTH'), 'accounttypedescription' => 'ECOM', 'currencyiso3a' => 'GBP', 'baseamount' => '1050', 'orderreference' => 'My_Order_123', 'wallet id' => 'ABC', 'wallet source' => 'OTHER', 'pan' => '5100000000000511', 'expirydate' => '12/2020', 'securitycode' => '123' ); $api = \Securetrading\api($configData); $response = $api->process($requestData); var_dump($response->toArray()); ?>
curl --user [email protected]:Password1^ <DOMAIN>/json/ -H "Content-type: application/json" -H "Accept: application/json" -X POST -d '{ "alias":"[email protected]", "version": "1.00", "request": [{ "currencyiso3a": "GBP", "requesttypedescriptions": ["AUTH"], "sitereference": "test_site12345", "baseamount": "1050", "orderreference": "My_Order_123", "accounttypedescription": "ECOM", "walletid": "ABC", "walletsource": "OTHER", "pan": "5100000000000511", "expirydate": "12/2020", "securitycode": "123" }]}'
{"alias":"[email protected]","version":"1.00","request":[{"currencyiso3a":"GBP","requesttypedescriptions":["AUTH"],"sitereference":"test_site12345","baseamount":"1050","orderreference":"My_Order_123","accounttypedescription":"ECOM","walletid":"ABC","walletsource":"OTHER","pan":"5100000000000511","expirydate":"12\/2020","securitycode":"123"}]}
<?xml version="1.0" encoding="utf-8"?> <requestblock version="3.67" > <alias>[email protected]</alias> <request type="AUTH"> <merchant> <orderreference>My_Order_123</orderreference> </merchant> <operation> <sitereference>test_site12345</sitereference> <accounttypedescription>ECOM</accounttypedescription> </operation> <billing> <amount currencycode="GBP">1050</amount> <payment> <expirydate>12/2020</expirydate> <pan>5100000000000511</pan> <securitycode>123</securitycode> <wallet id="A23"> <source>OTHER</source> </wallet> </payment> </billing> </request> </requestblock>
Replace <DOMAIN> with a supported domain. Click here for a full list.
Request field specification
Field | Format | Description | |
![]() |
walletid XPath: /billing/payment/wallet/@id |
Alphanumeric (3) | Id of the wallet associated with the transaction. |
![]() |
walletsource XPath: /billing/payment/wallet/source |
Alpha (5) | This field identifies the wallet brand. Must be submitted as “OTHER”. |
Response field specification
- For those using our API: These fields are returned in the response if they were sent on to the acquiring bank.
- For those using Payment Pages: You can specify for these fields to be included in URL notifications, redirects and email notifications. See the “Viewing the results” section below for further details.
Field | Format | Description | |
![]() |
walletid XPath: /billing/payment/wallet/@id |
Alphanumeric (3) | Id of the wallet associated with the transaction. |
![]() |
walletsource XPath: /billing/payment/wallet/source |
Alpha (5) | “OTHER” is returned. |
Viewing the results
MyST
The value of the digital wallet fields can be viewed in the single transaction view of MyST. If you already know the transaction reference, type this into the universal search box visible at the top of every page and submit to view the single transaction view:
Alternatively, if you do not know the transaction reference, you can search for transactions by clicking “Transactions” from the left side-bar, then “Transaction search” and using the filters available to you.
You will find the digital wallet fields under the “Wallet details” heading, as shown in the screenshot below:
Notifications, Redirects and Emails
The value of digital wallet fields can be returned in URL notifications, redirects and email notifications. These fields are not returned by default, so therefore must be specified as additional custom fields to be returned.

Transaction query (using Webservices API)
Using the Webservices API, you can query a request to view the associated digital wallet fields. Click here for further information.

Additional notes
Supported request types
The digital wallet fields can be submitted in the following requests:
- ACCOUNTCHECK
- AUTH
- ORDER
- ORDERDETAILS
- REFUND
- THREEDQUERY
Click here for a full list of request types.