This site requires javascript to be enabled.

  • Search AI-powered

Results for

xxx

Create hosted mandate management

POST https://{domainname}/v1/{merchantId}/hostedmandatemanagements

Hosted Mandate Management

Using hostedMandateManagement you can create mandates through our easy to use hosted responsive pages.

Request

You can start a hostedMandateManagement flow by posting the relevant details to the endpoint. We will then return you all the details you need to redirect the consumer to us, retrieve the status and recognize the consumer when he/she returns to your website.

Payloaddomain.CreateHostedMandateManagementRequest

Properties
Property Type Required Details
close

Description

Object containing partial information needed for the creation of the mandate. The recurrencetype, signature type of the mandate and reference to the customer are mandatory. You can also supply any personal information you already know about the customer so they have to fill in less details.
  • SDK Object type
    domain.HostedMandateInfo
close

Description

An alias for the mandate. This can be used to visually represent the mandate.
Do not include any unobfuscated sensitive data in the alias.
Default value if not provided is the obfuscated IBAN of the customer.
close

Description

Customer object containing customer specific inputs
  • SDK Object type
    domain.MandateCustomer
close

Description

Object containing IBAN information
  • SDK Object type
    domain.BankAccountIban
close

Description

Name in which the account is held.
close

Description

The IBAN is the International Bank Account Number. It is an internationally agreed format for the BBAN and includes the ISO country code and two check digits.
close

Description

Name of company, as a customer
close

Description

Object containing contact details like email address and phone number
  • SDK Object type
    domain.MandateContactDetails
close

Description

Email address of the customer
close

Description

Object containing billing address details
  • SDK Object type
    domain.MandateAddress
close

Description

City
close

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Streetname
close

Description

Zip code
close

Description

Object containing personal information of the customer
  • SDK Object type
    domain.MandatePersonalInformation
close

Description

Object containing the name details of the customer
  • SDK Object type
    domain.MandatePersonalName
close

Description

Given name(s) or first name(s) of the customer
close

Description

Surname(s) or last name(s) of the customer
close

Description

Object containing the title of the customer (Mr, Miss or Mrs)
close

Description

The unique identifier of a customer
close

Description

Specifies whether the mandate is for one-off or recurring payments. Possible values are:
  • UNIQUE
  • RECURRING
close

Description

Specifies whether the mandate is unsigned or singed by SMS. Possible values are:
  • UNSIGNED
  • SMS
close

Description

The unique identifier of the mandate
close

Description

Object containing hosted mandate management specific data
  • SDK Object type
    domain.HostedMandateManagementSpecificInput
close

Description

Locale to use to present the hosted mandate pages to the customer. Please make sure that a language pack is configured for the locale you are submitting. If you submit a locale that is not setup on your account we will use the default language pack for your account. You can easily upload additional language packs and set the default language pack in the Configuration Center.
close

Description

The URL that the customer is redirect to after the mandate flow has finished. You can add any number of key value pairs in the query string that, for instance help you to identify the customer when they return to your site. Please note that we will also append some additional key value pairs that will also help you with this identification process.
Note: The provided URL should be absolute and contain the protocol to use, e.g. http:// or https://. For use on mobile devices a custom protocol can be used in the form of protocol://. This protocol must be registered on the device first.
URLs without a protocol will be rejected.
close

Description

  • true - MyMandate will show a result page to the customer when applicable. Default.
  • false - MyMandate will redirect the customer back to the provided returnUrl when this is possible.
The default value for this property is true.
close

Description

The ID of the variant used to create the Hosted Mandate Management Session in which the payment was made.

Request example

SDK: Go

This scenario you will probably use the most

  • // Assigning literals to pointer variables directly is not supported.
    // The below code uses helper function connectsdk.NewString to overcome this issue.
    // This helper function is provided by the SDK's root package.
    // http://stackoverflow.com/a/30716481 lists a few more alternatives.
    
    var createMandateInfo domain.HostedMandateInfo
    createMandateInfo.CustomerReference = connectsdk.NewString("idonthaveareference")
    createMandateInfo.RecurrenceType = connectsdk.NewString("RECURRING")
    createMandateInfo.SignatureType = connectsdk.NewString("UNSIGNED")
    
    var hostedMandateManagementSpecificInput domain.HostedMandateManagementSpecificInput
    hostedMandateManagementSpecificInput.Locale = connectsdk.NewString("fr_FR")
    hostedMandateManagementSpecificInput.ReturnURL = connectsdk.NewString("http://www.example.com")
    hostedMandateManagementSpecificInput.Variant = connectsdk.NewString("101")
    
    var body domain.CreateHostedMandateManagementRequest
    body.CreateMandateInfo = &createMandateInfo
    body.HostedMandateManagementSpecificInput = &hostedMandateManagementSpecificInput
    
    response, err := client.V1().Merchant("merchantId").Hostedmandatemanagements().Create(body, nil)
    

Responses

For every successfully created hosted mandate management session an HTTP 201 response is returned.

Response 201 - Createddomain.CreateHostedMandateManagementResponse

The response contains a partialRedirectUrl. Because you can create several subdomains under which your MyCheckout payment pages will be available, you will need to add the relevant subdomain and datacenter alias that you wish to use for the transaction in front of the returned partialRedirectUrl. Next to this you also need to add the protocol (https://) in front of the whole URL. So the full redirect might be something like https://yourname.pay1.poweredbyglobalcollect.com/pay8915-53ebca407e6b4a1dbd086aad4f10354d:8915-28e5b79c889641c8ba770f1ba576c1fe:9798f4c44ac6406e8288494332d1daa0

Please note that, apart from the aforementioned, no more changes are required to the partialRedirectURL and that a GET must be used (to be sure, don't use a POST).

In the HTTP header the location is provided of the created hostedMandateManagement object so you can easily query its status, by simply performing a GET on the URI provided in this header.

Properties
Property Type Required Details
close

Description

When the customer is returned to your site we will append this property and value to the query-string. You should store this data, so you can identify the returning customer.
close

Description

This is the ID under which the data for this mandate management can be retrieved.
close

Description

The partial URL as generated by our system. You will need to add the protocol and the relevant subdomain to this URL, before redirecting your customer to this URL. A special 'payment' subdomain will always work so you can always add 'https://payment.' at the beginning of this response value to view your hosted mandate management pages.

Response example

SDK: Go

This scenario you will probably use the most

  • {
        "RETURNMAC" : "fecab85c-9b0e-42ee-a9d9-ebb69b0c2eb0",
        "hostedMandateManagementId" : "15c09dac-bf44-486a-af6b-edfd8680a166",
        "partialRedirectUrl" : "pay1.checkout.worldline-solutions.com/mandatemanagement/1701-8cc800ebc3b84667a0b0c9b7981d5b6a:15c09dac-bf44-486a-af6b-edfd8680a166:af6276be66bc4743abfbaa48524c59aa?requestToken=89836363-f87c-4d17-8b11-270d7d9cda9a"
    }
    

Response 400 - Bad requestdomain.ErrorResponse

Properties
Property Type Required Details
close

Description

Unique reference, for debugging purposes, of this error response
close

Description

List of one or more errors
close

Description

Contains detailed information on one single error.
  • SDK Object type
    domain.APIError
close

Description

Category the error belongs to. The category should give an indication of the type of error you are dealing with. Possible values:
  • CONNECT_PLATFORM_ERROR - indicating that a functional error has occurred in the Connect platform.
  • PAYMENT_PLATFORM_ERROR - indicating that a functional error has occurred in the Payment platform.
  • IO_ERROR - indicating that a technical error has occurred within the Connect platform or between Connect and any of the payment platforms or third party systems.
close

Description

Error code
close

Description

HTTP status code for this error that can be used to determine the type of error
close

Description

ID of the error. This is a short human-readable message that briefly describes the error.
close

Description

Human-readable error message that is not meant to be relayed to customer as it might tip off people who are trying to commit fraud
close

Description

Returned only if the error relates to a value that was missing or incorrect.
Contains a location path to the value as a JSonata query.
Some common examples:
  • a.b selects the value of property b of root property a,
  • a[1] selects the first element of the array in root property a,
  • a[b='some value'] selects all elements of the array in root property a that have a property b with value 'some value'.
close

Description

ID of the request that can be used for debugging purposes

Response example

SDK: Go

This scenario you will probably use the most

  • {
        "errorId" : "15eabcd5-30b3-479b-ae03-67bb351c07e6-00000092",
        "errors" : [
            {
                "code" : "20000000",
                "propertyName" : "bankAccountBban.accountNumber",
                "message" : "PARAMETER_NOT_FOUND_IN_REQUEST"
            }
        ]
    }