Capture Payment Call

Method Goals This method aims to capture a payment. Some providers require to capture the payment to transfer the funds to the merchant, in this case you will need to do a CapturePayment call. If this call is needed you will receive a pending reason as “PendingCapture” in the ProcessNotification o the DetailsPayment response.

Request Format The CapturePayment request requires a TransactionId and a CurrencyAmount object.

Response Format The response contains information about the payment that has been captured.

CapturePaymentRQ Example

<CapturePaymentRQ>
    <Transaction Id = "99999-53245-5483-4891">
        <MerchantReference>12346879</MerchantReference>
        <CurrencyAmount CurrencyCode = "EUR" Amount = "20.00" />
        <AuthorizationCode></AuthorizationCode>
        <SenderDetails Id = "PI8542256813" />
        <PaymentItemsDetails>
            <Item Id = "123456789">
                <Name>RH Bayren Hotel SPA</Name>
                <Description>1 habitación doble. Fecha entrada: 09/10/2015 Fecha salida: 12/10/2015</Description>
                <Date Start = "2014-03-13" End = "2014-03-18"/>
                <Quantity>1</Quantity>
                <CurrencyAmount CurrencyCode = "EUR" Amount = "20.00"/>
                <ImageUrl>http://media-cdn.tripadvisor.com/media/photo-s/04/2b/f8/eb/hotel-rh-bayren-i.jpg</ImageUrl>
            </Item>
        </PaymentItemsDetails>
        <TransactionTokens>
            <Attribute key = "att1" value = ""/>
            ...
        </TransactionTokens>
    </Transaction>
</CapturePaymentRQ>

CapturePaymentRQ

Element Number Type Description
CapturePaymentRQ 1 Root node.
Transaction 1 Contains information about the payment transaction to capture.
@Id 1 String Transaction identifier.
Transaction/MerchantReference 1 String Payment reference in the merchants system.
Transaction/CurrencyAmount 1 CurrencyAmount Contains the currency and the amount to capture. See common elements
Transaction/AuthorizationCode 1 String Contains the Authorization Code of the transaction. Necesary if returned in the ProcessNotificationRS.
Transaction/SenderDetails 0..1 SenderDetails Contains information about the payment sender. Necesary if returned in the ProcessNotificationRS. See common elements.
Transaction/PaymentItemsDetails 0..1 PaymentItemsDetails Contains a list of items that are related to this payment. This items are add to the transaction information if the provider admits it, check StaticConfiguration. See common elements.
Transaction/NetworkDetails 0..1 NetworkDetails Information about the payer configuration. Needed for PSD2 payments. See common elements.
Transaction/TransactionTokens 0..1 TransactionTokens List of elements with additional data without specific place on the RQ. See common elements.

CapturePaymentRS Example

<CapturePaymentRS>
    <Transaction Id = "99999-53245-5483-4891" IdType = "Final" Status = "Success" StatusDescription = "credited">
        <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>
                <CountryCode>ES</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>
        </Fees>
        <Reasons>
            <Reason Id = "Reference">123456798</Reason>
        </Reasons>
    </Transaction>
</CapturePaymentRS>

CapturePaymentRS

Element Number Type Description
CapturePaymentRS 1 Root node.
Transaction 0..1 Contains information about the payment transaction.
@Id 1 String 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.
@ExpiryDate 0..1 DateTime Transaction id expiration date. Only returned if IdType = Expirable.
@Status 1 String Transaction status (possible value: “Success” or “Unknown”).
@StatusDescription 0..1 String Additional information about the transaction status.
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

Comments