Due to PCI compliant reasons we're going to turn off support for TLS v1.0 on all of our servers.
Please check/update you API implementations to support TLS v1.2 until 29.06.2018

REST API Payments

From XING Events Developer Documentation
Jump to: navigation, search

Object type: payment

This page contains information about all properties and methods regarding payments.

For an example of the calls needed to create payment to re-fill the ticketshop for known ticket buyers, see our example in the How-To section: Pre-fill the ticketshop IFrame with buyer data


Attributes: R - accessible in read requests W - accessible in write (update) requests C - accessible in create requests

Attributes Description
The internal id of this object.
The invoice number.
lastModified Date R--
When the payment was modified the last time.
When the payment was created.
The internal id of the buyer associated with the payment.
eventId Integer R--
The id of the associated event.
startDate Date R--
The date the payment started.
discountCode String R--
The discount code used in the payment.
amount Money R--
The amount to be paid.
distributionChannel String R-C
The distribution channel can be set on payment creation and you can use it to differentiate between different initiations of the purchase, e.g. "Website A" and "Website B". At the revenue statistics you can see your sales grouped by this channels and the value is also available in our reports. The default is "CHANNEL_API_V1".
applicationData String R-C
The application data passed through an integrated iframe. Click here for detailed information
status String R--
Status of payment. Details
type String R--
Type of payment. Details
language Language R-C
In which language did the buyer make his purchase.
doubleOptIn String
Gets the double opt-in status of the participant of the buyer.
"FALSE": User did not select the checkbox (or double opt-in field wasn't available in the shop)
"WAITING": User ticked the checkbox but didn't click the link in the mail yet.
Date/Time value: If the user clicked on the link (did the full double opt-in) this value represents the date and time of that interaction.
numTickets Integer R--
The number of tickets associated with the payment.
userData Array of UserData R--
This array holds user data objects. User data objects hold additional values to the payment.
startIdentifier String R--
If the payment was already started, this parameter holds the identifier to use as parameter in the IFrame. Usually this is not needed, as the value is already returned by the Start payment call.
supplementaryService Boolean R-C
Marks this payment as a purchase as a supplementary service like part of another contract the client has with the organizer. If true other VAT rules apply. It should usually not be used and is only needed for special settings in the XING ExpoManager.
paymentAuthLoginType String R--
Shows which "Login"-Service the buyer used in the buying process. Possible values: NO_LOGIN, AMIANDO, DOC_CHECK, FACEBOOK, XING, LINKED_IN
paymentAuthProfileUrl String R--
If the user used a "Login"-Service in the buying process, this property holds the URL to the profile of the buyer in that application.
paymentAuthProfileId String R--
If the user used a "Login"-Service in the buying process, this property holds the profile ID of the buyer in that application.


Objects inside an payment, nested objects can be accessed through URLs like /api/payment/<id>/<object>. For example /api/payment/345543/address/buyer.

tickets returns an array of Ticket ids that are associated with this payment. Example response: {"tickets":[882472,882473],"success":true}
address/buyer Detailed information about the buyer address.
address/shipment Detailed information about the shipment address.



Call GET /api/payment/<id>
Description This request will return the payment object with the specified internal id. The response contains all properties marked with R.
Response {"payment":{"numTickets": ...}, "success":true}.
Errors See General Errorcodes.


Call POST /api/event/<id>/payment/create
Description This request will return a new and empty payment. To add tickets to the payment, you have call the set ticket count method.
Response {"id":<id>, "success":true}.
Errors See General Errorcodes.

Set ticket count

Call POST /api/payment/<id>/setTicketCount
Parameters <ticket category id> — Amount of tickets you want to buy for this ticket category. It is possible to set the ticket count for more than one ticket category in a single request (e.g. 123456=5&123457=2 (<ticket category id>=<amount of tickets to buy>)). To retrieve the ids of the available categories use the Enumerate ticket categories function
Description This request will add the specified amount of tickets to the payment. If you wish to finish the payment call start payment.
Response {"success":true}.
Errors com.amiando.ticketing.TicketShop.DiscountCodeRequired
See General Errorcodes.

Start payment

Call POST /api/payment/<id>/start
Description This request will return a url, that will start the payment process.
Response {"startIdentifier":"<start id>","startUrl":"<url to start the payment process>","queueIdentifier":"<queue id>","success":true}.
Errors com.amiando.api.rest.CannotUpdateNonDraftPayment

See General Errorcodes.

Mark as paid

Call POST /api/payment/<id>/markPaid
Description If this payment was a "direct payment", meaning the chosen payment option was a payment option by the organizer, this call allows you to mark this payment as paid.
Response {"success":true}.
Errors com.amiando.api.rest.MethodNotAllowed

See General Errorcodes.

Apply discount code

Call POST /api/payment/<id>/applyDiscountCode
Description This request applies a promotion code to the payment (see CodeDefinition on how to get or create promotion codes for an event).
Parameters discountCode - The discount code you want to apply (required)
Response {"success":true}.
Errors com.amiando.api.rest.CannotUpdateNonDraftPayment

See General Errorcodes.

Finalize payment

Call POST /api/payment/<id>/finalize
Description With this call you can finalize a previously created payment by API. So if you create a payment by API, fill it with all needed data and use this call, this will result in a fully finalized payment as if the payment was finalized in the shop by the user. You can use this call for example to import known participants like speaker, special guests, etc..

Obviously this call only works for free payments/tickets - apply a 100% discount code in advance in case you want to use paid tickets.

Parameters queueIdentifier the queueIdentifier you received in the payment's start call.

acceptedTermsAndConditions must be set to "1" or "true" to signal that you are allowed to do this import in the name of the person you provided in the payment.

Response {"success":true}.
Errors com.amiando.api.rest.PaymentHasNoZeroAmount

See General Errorcodes.

Enumerate payments

Call GET /api/event/<id>/payments
See Enumerate payments.

Enumerate tickets

Call GET /api/payment/<id>/tickets
Description This request will return all the specified internal ids of the payment's tickets.
Response {"tickets":[...],"success":true}.
Errors See General Errorcodes.

Enumerate products

Call GET /api/payment/<id>/products
Description This request will return all existing (ordered) products for this payment. Be careful there could also be some products belonging to the tickets you bought/ordered with this payment.
Response {"products": {...}, "success":true}.
Errors See General Errorcodes.

Payment Status

The status property indicates the current status of the payment. Possible values are:

Payment Status
Means that the payment has been bought but the buyer did not receive the tickets yet (an example would be prepayment. The buyer gets the tickets when we receive the payment)
means that the payment was purchased but it is not yet paid (an example would be invoice. here the buyer already receives the ticket but pays at a later time)
Means that the payment was purchased and paid
Means that the payment was purchased, paid and XING Events already disbursed the money to the event host
Means that the payment was initially bought but later cancelled

Payment Type

The type property indicates the way the payment will be / was paid. Possible values are:

Payment Type
The payment was bought using direct debit ("Lastschrift")
The payment was bought using a credit card
The payment was paid by invoice
The payment was bought using prepayment
The payment was paid using the PayPal service
The payment using "Sofort" (Sofortüberweisung)
The payment didn't need to be paid since it was free
REST API Contents
Getting Started Get your API key Overview Formats Errors
Data Types Event Participant Payment Ticket
Ticket Categories ProductDefinition Products CodeDefinition
TicketShop Addresses Ticket Types Payment Types
BankAccount UserDataDefinition UserData User
Data Synchronization Sync Interface