Without a User Account

Last changes: 01-26-2024

3RI payments without user account (guest payment) enable end users to provide their payment option details on a case-by-case basis. i.e. the payment option is not saved (tokenized) and not associated with an account. Guest payments are also available in case the user has an account registered, but chooses not to any pre-existing stored payment options, nor chooses to store the payment option of the current 3RI payment. 

Process flow for Partial/Split Shipment without user account:

  1. Create Initial CIT for 3RI. 
  2. Collect Payment Details via SDK. 
  3. Complete Authorization for 3RI. 

1. Create Intial CIT for 3RI

The user decides to make an order of 500 € without saving the payment card details. Some products are not available, so the merchant marks this transaction as a partial/split shipment. 

The order was created from the merchant’s shop. In this example the total amount of the order is 500 €. Since the transaction is marked as a partial/split shipment, the amount for the first shipment is 250 €. 

Init Authorize - Request

Path:

PUT {baseURL}/payment/initAuthorize

Header:

Content-Type: application/json
Accept-Language: en-US
X-Auth-Token: eyJhbGciOiJSUzI1NiI{abbreviated}RW5kVG9rZW4=

{  
     "partnerReference": "DEV-3RI-PSS-Create-Initial-CIT-001",  
     "dealReference": "RjFfNtRcReI1rTm1NzA3r",  
     "programAccno": "1234567890",  
     "accno": "MERCHANT-DE-1111",  
     "accnoType": "00",  
     "paymentOptionCode": "VISA",  
     "presentationAmount": 250.00,  
     "presentationCurrCode": "EUR",  
     "presentationUsage": "Initial CIT for 3RI PSS",  
     "useDifferentBillingAddress": true,  
     "customerFullName": "Hans Gruber",  
     "addr1": "Some Street",  
     "houseNumber": "123",  
     "city": "Some City",  
     "countryCode": "DE",  
     "postCode": "12345",  
     "emailAddress": "some.user@example.com",  
     "localDate": "2019-12-31",  
     "localTime": "235959"  
 }  

Init Authorize - Response

Status Code:

200 (OK)

Header:

Content-Type: application/json
Accept-Language: en-US

{  
     "programAccno": "1234567890",  
     "accno": "MERCHANT-DE-1111",  
     "dealReference": "RjFfNtRcReI1rTm1NzA3r",  
     "uniqueReference": "M1jJiFbTuYbJbml0aWfSi",  
     "loadAccountReference": "VeLdIgXhAxRpBkKgU1nQi",  
     "authorizationToken": "8F1C80DBC5AF964D02B183523A336525.uat01-vm-tx01",  
     "paymentOptionCode": "VISA",  
     "presentationAmount": 250,  
     "presentationCurrCode": "EUR",  
     "presentationUsage": "Initial CIT for 3RI PSS",  
     "statusCode": "RECEIVED",  
     "paymentProviderResponse": {  
         "result": {  
             "code": "000.200.100",  
             "description": "successfully created checkout"  
         },  
         "buildNumber": "03af5bca377dbfccb2f6559facee5a45757ae039@2019-12-31 23:59:59+0000",  
         "timestamp": "2019-12-31 23:59:59+0000",  
         "ndc": "8F1C80DBC5AF964D02B183523A336525.uat01-vm-tx01",  
         "id": "8F1C80DBC5AF964D02B183523A336525.uat01-vm-tx01"  
     },  
     "partnerReference": "DEV-3RI-PSS-Create-Initial-CIT-001",  
     "localDate": "2019-12-31",  
     "localTime": "235959",  
     "sysDate": "2019-12-31",  
     "sysTime": "235959",  
     "responseCode": "0000",  
     "responseDescription": "Successful execution.",  
     "additionalInformation": {  
         "requestId": "aff2728481a181dc36daedc14055b516"  
     }  
 }  

2. Collect Payment Details via SDK

The SDK renders a customizable payment form and sends the entered payment details directly from the customer's browser to the Acquirer.  

The user will see the total amount of the authorized transaction (in our example 500 €). This ensures that the customer gives verified approval up-front for the full cost of all the items that will eventually be shipped. This step also reduces the merchant’s risk of any potential chargebacks, as there’s collected proof of the customer’s agreement to the full amount. 

cw.PaymentForm(container, {  
     
   authorizationToken: "8F1C80DBC5AF964D02B183523A336525.uat01-vm-tx01",  
   callbackUrl: "https://example.com/Payment/CompleteAuthorization",  
   paymentOptionCodes: ["VISA"],  
   paymentProviderMode: "test",  
   locale: "en-US"  
     
 });  

3. Complete Authorization

The SDK sends the payment details directly to the acquirer, where the payment is processed. Due to this, there is no indication of the payment's status and if it was successfully authorized. Therefore, 1.39 Complete Authorize should be called. 

Complete Authorize - Request

Path:

{baseURL}/payment/M1jJiFbTuYbJbml0aWfSi/completeAuthorize

Header:

Content-Type: application/json
Accept-Language: en-US
X-Auth-Token: eyJhbGciOiJSUzI1NiI{abbreviated}RW5kVG9rZW4=

{  
     "partnerReference": "DEV-3RI-PSS-Complete-Initial-CIT-002",  
     "authorizationToken": "8F1C80DBC5AF964D02B183523A336525.uat01-vm-tx01",  
     "useDifferentBillingAddress": true,  
     "customerFullName": "Hans Gruber",  
     "addr1": "Some Street",  
     "houseNumber": "123",  
     "city": "Some City",  
     "countryCode": "DE",  
     "postCode": "12345",  
     "localDate": "2019-12-31",  
     "localTime": "235959"  
 }  

Complete Authorize - Response

Status Code:

200 (OK)

Header:

Content-Type: application/json
Accept-Language: en-US

{
    "initiatorAccno": "1234567890",
    "accno": "MERCHANT-DE-1111",
    "uniqueReference": "M1jJiFbTuYbJbml0aWfSi",
    "processedAmount": 250,
    "processedCurrCode": "EUR",
    "statusCode": "AUTHORIZED",
    "statusReason": "Request successfully processed in 'Merchant in Integrator Test Mode'",
    "paymentProviderResponse": {
        "id": "7d159ae56109a25cabc194107488ab74",
        "registrationId": "2082e9544b2bf37d89bcd474e254f0bf",
        "paymentType": "PA",
        "paymentBrand": "VISA",
        "amount": "250.00",
        "currency": "EUR",
        "descriptor": "MERCHANT-DE-1111 - Initial CIT for 3RI PSS",
        "merchantTransactionId": "M1jJiFbTuYbJbml0aWfSi",
        "recurringType": "INITIAL",
        "result": {
            "code": "000.100.110",
            "description": "Request successfully processed in 'Merchant in Integrator Test Mode'"
        },
        "card": {
            "bin": "400012",
            "last4Digits": "1234",
            "holder": "Hans Gruber",
            "expiryMonth": "12",
            "expiryYear": "2034"
        },
        "billing": {
            "street1": "Some Street",
            "city": "Some City",
            "postcode": "12345",
            "country": "DE"
        },
        "threeDSecure": {
            "eci": "05",
            "verificationId": "dMvYaWzPy2f0aW9uSwQ=",
            "version": "2.2.0",
            "dsTransactionId": "9c3f86f8-f274-6d19-4348-733adff0ed72",
            "challengeMandatedIndicator": "N",
            "acsTransactionId": "99546eef-46aa-554a-a69e-62a629903822",
            "authType": "01",
            "flow": "challenge",
            "authenticationTimestamp": "201912312359"
        },
        "customParameters": {
            "StandingInstructionAPI": "true",
            "SHOPPER_EndToEndIdentity": "be83cf94354a0d25485f728d87e4ac21ba7715551fb0c6ec0b49ada2c9ce8e90",
            "CTPE_DESCRIPTOR_TEMPLATE": "",
            "StoredCredentialType": "CIT",
            "StandingInstruction": "UNSCHEDULED"
        },
        "risk": {
            "score": "0"
        },
        "buildNumber": "03af5bca377dbfccb2f6559facee5a45757ae039@2019-12-31 23:59:59+0000",
        "timestamp": "2019-12-31 23:59:59+0000",
        "ndc": "8F1C80DBC5AF964D02B183523A336525.uat01-vm-tx01",
        "standingInstruction": {
            "source": "CIT",
            "type": "UNSCHEDULED",
            "mode": "INITIAL"
        },
        "source": "OPPUI",
        "paymentMethod": "CC",
        "shortId": "1234.1234.1234"
    },
    "initiationCountryCode": "DE",
    "initiationCountryCode3": "DEU",
    "partnerReference": "DEV-3RI-PSS-Complete-Initial-CIT-002",
    "localDate": "2019-12-31",
    "localTime": "235959",
    "sysDate": "2019-12-31",
    "sysTime": "235959",
    "responseCode": "0000",
    "responseDescription": "Successful execution.",
    "additionalInformation": {
        "requestId": "aff2728481a181dc36daedc14055b516"
    }
}

Optional - Get Deal Data

<Bla Bla Bal - Link to "1.158 Get Deal Data" from "API Reference" Section - Bla Bla Bal>

Get Deal Data - Request

Path:

GET {baseURL}/deal/RjFfNtRcReI1rTm1NzA3r?partnerReference=DEV-3RI-PSS-Get-Deal-Data-002&localDate=2019-12-31&localTime=235959

Header:

Content-Type: application/json
Accept-Language: en-US
X-Auth-Token: eyJhbGciOiJSUzI1NiI{abbreviated}RW5kVG9rZW4=


Get Deal Data - Response

Status Code:

200 (OK)

Header:

Content-Type: application/json
Accept-Language: en-US

{
  "merchantAccno": "MERCHANT-DE-1111",
  "dealReference": "RjFfNtRcReI1rTm1NzA3r",
  "dealAuthenticationAmount": 500.00,
  "dealTotalAmount": 250.00,
  "dealCurrCode": "EUR",
  "dealTypeCode": "3RIPSS",
  "isClosed": false,
  "dealRelatedTransactions": [
    {
      "transactionReference": "M1jJiFbTuYbJbml0aWfSi",
      "presentationAmount": 250.00,
      "presentationCurrCode": "EUR",
      "statusCode": "AUTHORIZED"
    }
  ],
  "partnerReference": "DEV-3RI-PSS-Get-Deal-Data-002",
  "localDate": "2019-12-31",
  "localTime": "235959",
  "sysDate": "2019-12-31",
  "sysTime": "235959",
  "responseCode": "0000",
  "responseDescription": "Successful execution.",
  "additionalInformation": {
    "requestId": "aff2728481a181dc36daedc14055b516"
  }
}