Process Notification Call
Method Goals This method aims to process the notification from a payment that has been created.
Request Format The ProcessNotification request requires a HTTPResponse object.
Response Format The response contains information about the notification that has been confirmed.
ProcessNotificationRQ Example
<ProcessNotificationRQ>
<HTTPResponse>
<Status>HTTP/1.1 200 OK</Status>
<Url>https://api.test.com/api/xml?seed=aaaaabbbbb1111122222</Url>
<Seed>aaaaabbbbb1111122222</Seed>
<Headers></Headers>
<Body><status_notification><transaction>99999-53245-5483-4891</transaction><time>2010-04-14T19:01:08+02:00</time></status_notification></Body>
</HTTPResponse>
</ProcessNotificationRQ>
ProcessNotificationRQ
Element | Number | Type | Description |
---|---|---|---|
ProcessNotificationRQ | 1 | Root node. | |
HTTPResponse | 1 | Contains information of the notification sent by the provider. | |
HTTPResponse/Status | 1 | String | Status of the notification sent by the provider. |
HTTPResponse/Url | 1 | String | Url of the notification sent by the provider. |
HTTPResponse/Headers | 1 | String | Headers of the notification sent by the provider. |
HTTPResponse/Body | 1 | String | Body of the notification sent by the provider. |
HTTPResponse/Seed | 0..1 | String | Seed to check providers authentication. Only if provider allows it, check StaticConfiguration. |
ProcessNotificationRS Example
<ProcessNotificationRS>
<Notification Id = "" Type = "" TypeInformation = "" CreationDate="">
<AuthenticationStatus>Success</AuthenticationStatus>
<Transaction Id = "99999-53245-5483-4891" IdType = "Expirable" ExpiryDate = "2013-12-20T10:48:52.00000Z" Status = "Pending" PendingReason = "PendingCapture" StatusDescription = "credited">
<MerchantReference>12346879</MerchantReference>
<TransactionDate>2013-12-20T10:48:52.00000Z</TransactionDate>
<CurrencyAmount CurrencyCode = "EUR" Amount = "2.20" />
<AuthorizationCode>1951673</AuthorizationCode>
<SenderDetails Id = " ">
<Email>test@example.com</Email>
<Name>Max</Name>
<Surname>Mustermann</Surname>
<SenderBankDetails>
<Holder>Max Mustermann</Holder>
<BankAccount Number = " " SecurityCode = " " />
<CountryCode></CountryCode>
<IBAN>DE11888888882222222222</IBAN>
<BIC>PNAGDE45920</BIC>
</SenderBankDetails>
</SenderDetails>
<Fees>
<Fee Id = " ">
<CurrencyAmount CurrencyCode = "EUR" Amount = "0.00" />
<ExchangeRate>1.0000</ExchangeRate>
<Description></Description>
</Fee>
<Fee />
...
</Fees>
<Reasons>
<Reason Id = " "></Reason>
<Reason Id = " "></Reason>
...
</Reasons>
</Transaction>
<HTTPACK Mandatory = "true">
<HTTPRequests>
<HTTPRequest>
<Headers>Content-Type: application/json; charset=utf-8&Expect: 100-continue&Accept-Encoding: gzip&Connection: Close</Headers>
<Body>{"result": {"data": {"status": "OK" }, "method": "pending", "signature": "QAEBk53nnp9...92oyR9fQpoIMGqHg==", "uuid": "1772f7f5-9f19-4e79-90bd-551d28bed6db" }, "version": "1.1"}</Body>
<Method>POST</Method>
<Protocol>HTTP/1.1</Protocol>
</HTTPRequest>
</HTTPRequests>
</HTTPACK>
</Notification>
</ProcessNotificationRS>
ProcessNotificationRS
Element | Number | Type | Description |
---|---|---|---|
ProcessNotificationRS | 1 | Root node. | |
Notification | 1 | Contains information about the payment notification. | |
@Id | 0..1 | String | Notification identifier. |
@Type | 0..1 | String | Notification Type (possible values: “Pending”, “Refund”, “Received” or “Cancel”). |
@TypeInformation | 0..1 | String | Additional information of the notification type. |
@CreationDate | 0..1 | Date | Notification creation date. |
Notification/AuthenticationStatus | 1 | String | Informs of the authentication of the notification (possibles values: “Success” or “Fail”). |
Notification/Transaction | 0..1 | Contains information about the payment transaction. | |
@Id | 0..1 | Transaction identifier. | |
@IdType | 1 | String | Transaction Id type (possible values: “Expirable” or “Final”). If “Final”, the transaction id will not change. If “Expirable”, the transaction id returned is only valid until the ExpiryDate and the final id will be returned in other calls like CapturePayment. |
@ExpiryDate | 0..1 | DateTime | Transaction id expiration date. Only returned if IdType = Expirable. |
@Status | 0..1 | String | Transaction status (possible value: “Pending”, “Refunded”, “Received”, “Cancel” or “Unknown”). |
@PendingReason | 0..1 | String | If the transaction status is Pending, informs the reason of this status (possible values: “PendingCredit”, “PendingCapture”, “PendingVerification” or “Unknown”). |
@StatusDescription | 0..1 | String | Additional information about the transaction status. |
Transaction | 0..1 | Information about the payment transaction. | |
Transaction/MerchantReference | 1 | String | Payment reference in the merchants system. |
Transaction/TransactionDate | 0..1 | DateTime | Transaction date. |
Transaction/CurrencyAmount | 0..1 | CurrencyAmount | Contains the currency and the amount of the transaction. See common elements |
Transaction/AuthorizationCode | 0..1 | String | Contains the Authorization Code of the transaction. |
Transaction/SenderDetails | 0..1 | SenderDetails | Contains information about the payment sender. See common elements. |
Transaction/Fees | 0..1 | Fees | Contains information about the transaction fees. See common elements |
Transaction/Reasons | 0..1 | Reasons | Reasons of the payment. This reasons are add to the transaction information if the provider admits it. See common elements |
Notification/HTTPACK | 1 | Redirects | Contains information about the notification ACK. See common elements |
@Mandatory | 1 | Boolean | Informs if the notification sent by the provider requires an ACK response. If true, respond to the providers notification with information in the HTTPRequest object. |