This schema defines the communication between the IHPayment-Framework and a Transaction Server
wird vom TransactionServer vergeben
amount to be charged, in Cent (or whatever the fractional part of a specific currency is called)
Range: 1...50000 -- 0.01...500.00 currency
- saleID
- quantity
- name (in case the default_name of saleID isn't enough)
- netPrice
- paid_vat
- payload
- array of SaleItem's
- "payload" can contain further information for the Transaction Server
contains all the data entered by the user
- name
- street
- city
- zipCode
- country
- language
- mail
- vatId
tells Transaction Server to create a new transaction
- using the specified "ShoppingCart" for "amount" of "currency" (in Cent!)
- "userData" (which includes language -> useful for expercash iFrame)
Transaction Server response to a TransactionCreateRequest, giving you:
- transactionID
used to identify this specific transaction (unique on Transaction Server)
- ack
was request succesful? (also in HTTP return code)
asks Transaction Server for details on products specified by id
current vat-rate can be requested
xslt(s) can be requested
returns:
- products (array of productType)
- vat, if requested
- xslt(s), if requested
abort transaction, identified by "transactionID"
return code in <ack> ... und im HTTP-Status
returns URL to a webFrame that should contain a payment-iFrame
is expected to include URL for <ack>success</ack>
returns URL to payment-iFrame
is expected to include URL for <ack>success</ack>
request information on the payment state of a transaction
returns:
- transactionID
- payState ... also indicated in the HTTP-Status (:ok => 200 & :payment_required => 402)
- might contain responsePayload
Base type definition of a response payload that can carry any
type of payload content, with following (optional) elements:
- acknowledgement of *Request
- list of errors (optional)
A token representing the application-level acknowledgement code that indicates
the response status (e.g., success). The AckCodeType list specifies
the possible values for Ack.
A list of application-level errors (if any) that occurred when the
Transaction Server processed the request.
Base type definition of a request payload that can carry any
type of payload content, with following optional elements:
- __for future additions__
Takes AbstractResponseType and adds:
- transactionID
Takes AbstractRequestType and adds:
- transactionID