Link Money Initiate Payment
The Initialize Payment Authorization is the first API of Link Money Checkout Flow. It is used to initiate the Link Money authorization process. The Initialize Payment Authorization response message includes a session key, which the webstore uses to link the Customer's bank account with Link Money.
URI Summary
Action |
URI Template |
URI Example |
Non-URI Request |
Response |
---|---|---|---|---|
POST |
/v[M.m]/stores/[StoreID]/payments/authorization/initialize/[TenderCode].[format] |
/v1.0/stores/store123/payments/authorization/initialize/AH.xml |
XML |
200 + XML response |
Schema
The schema for Initialize Payment Authorization is Payment-Service-InitializePaymentAuthorization-1.0.xsd.
Request Example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<InitializePaymentAuthorizationRequest xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<OrderId>123456789</OrderId>
<Amount currencyCode="USD">10.95</Amount>
<BillingInformation>
<ContactInformation>
<Person>
<Name>
<LastName>Smith</LastName>
<FirstName>John</FirstName>
</Name>
</Person>
<PrimaryPhoneNumber>55555555555</PrimaryPhoneNumber>
<PrimaryEmailAddress>no-reply@radial.com</PrimaryEmailAddress>
</ContactInformation>
<Address>
<Line1>935 First Ave</Line1>
<City>King of Prussia</City>
<MainDivisionCode>PA</MainDivisionCode>
<CountryCode>US</CountryCode>
<PostalCode>19406</PostalCode>
</Address>
</BillingInformation>
<ShippingInformation>
<ContactInformation>
<Person>
<Name>
<LastName>Smith</LastName>
<FirstName>Jane</FirstName>
</Name>
</Person>
<PrimaryPhoneNumber>4444444444</PrimaryPhoneNumber>
<PrimaryEmailAddress>jane.smith@radial.com</PrimaryEmailAddress>
</ContactInformation>
<Address>
<Line1>630 Allendale Rd</Line1>
<City>King of Prussia</City>
<MainDivisionCode>PA</MainDivisionCode>
<CountryCode>US</CountryCode>
<PostalCode>19426</PostalCode>
</Address>
</ShippingInformation>
<OriginatorIpAddress>127.0.0.1</OriginatorIpAddress>
<MerchantDescription>soft-descriptor</MerchantDescription>
</InitializePaymentAuthorizationRequest>
Request Elements
Element |
Optional/Required |
Description |
Type |
Restriction |
---|---|---|---|---|
OrderId |
Required |
Unique identifier for an order across all transactions of the same order |
String |
1-20 characters |
Amount |
Required |
Total value of the authorization. When line items are specified must match the sum of the individual line item total amounts |
Decimal |
Min 0.00
|
Amount@currencyCode |
Required |
The currency of the order amount |
ISO 4217 currency code |
|
BillingInformation |
Required |
Represents Billing Information of the order. Contains Customer Information and Address. |
ComplexType |
|
BillingInformation/ContactInformation/Person/Name/LastName |
Required |
The Last Name of the customer placing the order. |
String |
Min 1 Character. Alphabets(A-Z, a-z), hyphen(-), dot(.), single quote(') are allowed. |
BillingInformation/ContactInformation/Person/Name/FirstName |
Required |
The First Name of the customer placing the order. |
String |
Min 1 Character. Alphabets(A-Z, a-z), hyphen(-), dot(.), single quote(') are allowed. |
BillingInformation/ContactInformation/PrimaryPhoneNumber |
Required |
Customer phone number used for order follow-up. |
String |
6-16 numbers. |
BillingInformation/ContactInformation/PrimaryEmailAddress |
Required |
Email address of the customer. |
String |
6-64 characters |
BillingInformation/Address/Line1 |
Required |
The Line1 components contain the street address. |
String |
Min 1 character |
BillingInformation/Address/City |
Required |
City of the Billing Address. |
String |
Min 1 character |
BillingInformation/Address/MainDivision |
Required |
Typically, a two- or three-digit postal abbreviation for the state or province.
|
String |
Max 30 characters |
BillingInformation/Address/CountryCode |
Required |
Two-digit ISO country code conforming to ISO 3166 alpha 2. |
String |
Min 2 characters
|
BillingInformation/Address/PostalCode |
Required |
Postal code of the Billing Address. |
String |
3-10 characters |
ShippingInformation |
Required |
Represents Shipping Information of the order. Contains Customer Information and Address. |
ComplexType |
|
ShippingInformation/ContactInformation/Person/Name/LastName |
Required |
The Last Name of the customer placing the order. |
String |
Min 1 Character. |
ShippingInformation/ContactInformation/Person/Name/FirstName |
Required |
The First Name of the customer placing the order. |
String |
Min 1 Character. |
ShippingInformation/ContactInformation/PrimaryPhoneNumber |
Required |
Customer phone number used for order follow-up. |
String |
6-16 numbers. |
ShippingInformation/ContactInformation/PrimaryEmailAddress |
Required |
Email address of the customer. |
String |
6-64 characters |
ShippingInformation/Address/Line1 |
Required |
The Line1 components contain the street address. |
String |
Min 1 character |
ShippingInformation/Address/City |
Required |
City of the Shipping Address. |
String |
Min 1 character |
ShippingInformation/Address/MainDivision |
Required |
Typically, a two- or three-digit postal abbreviation for the state or province.
|
String |
Max 30 characters |
ShippingInformation/Address/CountryCode |
Required |
Two-digit ISO country code conforming to ISO 3166 alpha 2. |
String |
Min 2 characters
|
ShippingInformation/Address/PostalCode |
Required |
Postal code of the Shipping Address. |
String |
3-10 characters |
OriginatorIpAddress |
Required |
An IP version 4 or version 6 address. |
String |
Max 39 characters |
MerchantDescription |
Optional |
This is a short message shown at the customer's bank statement |
String |
1- 80 characters. A value of 22 characters is recommended and a maximum value of 80 characters are allowed. |
Response Examples
Success Response
<?xml version="1.0" encoding="UTF-8"?>
<InitializePaymentAuthorizationReply xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/"
xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<PaymentContext>
<OrderId>123456789</OrderId>
<TenderType>AH</TenderType>
</PaymentContext>
<ResponseCode>Success</ResponseCode>
<PaymentId>bem81ldsjr400</PaymentId>
<LinkMoneyPaymentData>
<SessionKey>7f7c2df3-875a-4c6d-bd80-74c256b35812</SessionKey>
</LinkMoneyPaymentData>
<Amount currencyCode="USD">10.95</Amount>
</InitializePaymentAuthorizationReply>
Response Elements
Element |
Optional/Required |
Description |
Type |
Restriction |
---|---|---|---|---|
/InitializePaymentAuthorizationReply/PaymentContext |
Required |
Unique identifier of the payment transaction for the order. |
ComplexType |
|
/InitializePaymentAuthorizationReply/PaymentContext/OrderId |
Required |
Unique identifier of the order from the InitializePaymentAuthorizationRequest |
String |
Min 1 character
|
/InitializePaymentAuthorizationReply/PaymentContext/TenderType |
Required |
Identifies the tender type used for the transaction. |
String |
Min 2 character
|
/InitializePaymentAuthorizationReply/PaymentId |
Required |
The unique identifier for the created order. This must be used for subsequent calls. |
String |
Min 1 character
|
/InitializePaymentAuthorizationReply/LinkMoneyPaymentData/SessionKey |
Required |
Session Key returned from the Link Money Gateway. This session key is used to link the Customer's Bank account with Link Money. |
String |
Max 256 characters |
/InitializePaymentAuthorizationReply/Amount |
Required |
The order amount associated with the created session. |
Decimal |
Total dollar value of the authorization. Format as 0.00 and max 9 digits total.
|
/InitializePaymentAuthorizationReply/ResponseCode |
Required |
Response code of the Link Money authorization. Contains 'Success' or 'Fail' or 'Timeout'.
|
String |
|
Failure Response
In case of failure, the webstore should correct the request based on the response code and response code description, and retry the Initialize Payment Authorization Request.
<?xml version="1.0" encoding="UTF-8"?>
<InitializePaymentAuthorizationReply xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/"
xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<PaymentContext>
<OrderId>123456789</OrderId>
<TenderType>AH</TenderType>
</PaymentContext>
<ResponseCode>Fail</ResponseCode>
<ResponseCodeDescription>Please check the attribute : email</ResponseCodeDescription>
<PaymentId>bf81rogj5ds00</PaymentId>
<Amount currencyCode="USD">49.95</Amount>
</InitializePaymentAuthorizationReply>
Fault Response
In case of fault response, the webstore should retry the Initialize Payment Authorization Request. If the request consistently fails, reach out to Radial support for troubleshooting.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Fault xmlns="http://api.gsicommerce.com/schema/checkout/1.0">
<CreateTimestamp>2023-12-12T07:59:03.356Z</CreateTimestamp>
<Code>SystemProcessingError</Code>
<Description>A system error has occurred.</Description>
</Fault>
Timeout Response
In case of timeout response, the webstore should retry the Initialize Payment Authorization Request.
<?xml version="1.0" encoding="UTF-8"?>
<InitializePaymentAuthorizationReply xmlns="http://api.gsicommerce.com/schema/checkout/1.0"
xmlns:payment="http://schema.gsicommerce.com/payments/types/1.0/">
<PaymentContext>
<OrderId>123456789</OrderId>
<TenderType>AH</TenderType>
</PaymentContext>
<ResponseCode>Timeout</ResponseCode>
<PaymentId>b33j9ynrb400</PaymentId>
<Amount currencyCode="USD">0</Amount>
</InitializePaymentAuthorizationReply>
In case of timeout in Radial or webstore
If there is no response from Radial, or response timed out between webstore and Radial, or the webstore couldn't get a response from Radial for any reason, the webstore should retry the Initialize Payment Authorization Request.
Next Step
After the successful Initialize Payment Authorization call, the next step is a call to link the customer's bank account with Link Money .