Create Payment Call

Method Goals This method aims to create a payment request of the indicated amount.

Request Format The CreatePayment request requires a Transaction object.

Response Format The response contains a payment Id and a url to redirect the customer. If the payment doesn’t require the clients redirect it won’t return the “Redirects” object and will return information about the payment.

CreatePaymentRQ Example

<CreatePaymentRQ>
    <Configuracion/>
    <BaseCallBacks/>
    <TransactionDetails Id="4235669432">
        <SenderDetails>
            <SenderBankDetails>
                <Holder>Max Mustermann</Holder>
                <BankAccount Number = " " SecurityCode = " "/>
                <CountryCode></CountryCode>
                <IBAN>DE11888888882222222222</IBAN>
                <BIC>PNAGDE45920</BIC>
            </SenderBankDetails>
        </SenderDetails>
    </TransactionDetails>
    <CurrencyAmount CurrencyCode = "EUR" Amount = "2.20"/>
    <MerchantReference>12346879</MerchantReference>
    <Reasons>
        <Reason Id = "Reference">123456798</Reason>
        <Reason Id = " "></Reason>
        ...
    </Reasons>
    <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 = "303.50"/>
            <ImageUrl>http://media-cdn.tripadvisor.com/media/photo-s/04/2b/f8/eb/hotel-rh-bayren-i.jpg</ImageUrl>
        </Item>
    </PaymentItemsDetails>
    <CallBacks>
        <Seed>a35gv5yj0173ljni565aertcs</Seed>
        <Urls>
            <Url type = "Success">https://www.example.com/payment/success.php</Url>
            <Url type = "Fail">https://www.example.com/payment/abort.php</Url>
            <Url type = "Notification" Status = "Received">https://www.example.com/notify.php</Url>
        </Urls>
    </CallBacks>
</CreatePaymentRQ>

CreatePaymentRQ

Element Number Type Description
CreatePaymentRQ 1 Root node.
AgencyCode 0..1 String If necessary, code of the agency related to the payment.
TransactionDetails 0..1 Information related to the payment
@Id 0..1 String Id of the transaction.
TransactionDetails/SenderDetails 1 SenderDetails Contains information about the payment sender. See common elements.
TransactionDetails/RecipientDetalis 1 SenderDetails Contains information about the payment receiver. See common elements.
TransactionDetails/Participants 0..1 All parties involved in the payment
TransactionDetails/Participants/Participant 1..n SenderDetails List of details of all parties involved in the transaction. See common elements.
TransactionDetails/ProductDetails 0..1 Information about the product purchased
TransactionDetails/ProductDetails/TravelDetails 1 Information about the flights
TransactionDetails/ProductDetails/TravelDetails/FlightsList/ 1 List of all flights
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo 1..n Information about individual flights.
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo/FlightNumber 1 String Number of the flight.
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo/CompanyName 1 String Name of the flight company.
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo/Arrival 0..1 Information about the arrival flight.
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo/Arrival/Terminal 1 String Arrival Flight Terminal.
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo/Arrival/Date 1 DateTime Arrival Flight Date.
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo/Arrival/Country 1 String Arrival Fligth Country.
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo/Departure 0..1 Information about departure flight.
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo/Departure/Terminal 1 String Depature Flight Terminal.
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo/Departure/Date 1 DateTime Departure Flight Date
TransactionDetails/ProductDetails/TravelDetails/FlightsList/FlightInfo/Departure/Country 1 String Departure Flight Country
TransactionDetails/BillingType 0..1 String Allowed values: “RecurringPayment”, “ReferenceTransaction”, “CreateBillingAgreement”, “DoCheckoutAndCreateBillingAgreement”, “Boleto”, “DirectDebit”, “Installments”.
TransactionDetails/numInstallments 0..1 Integer
TransactionDetails/LoginToken 0..1 String Value needed if login requires token.
TransactionDetails/deliveryDate 0..1 DateTime Date in which the payment will take effect.
TransactionDetails/NetworkDetails 0..1 NetworkDetails Information about the payer configuration. Needed for PSD2 payments. See common elements
TransactionDetails/TransactionTokens 0..1 Attributes List of attributes with extra data needed for the payment. See common elements.
CreditCardDetails 0..1 Information about the credit card used for the payment.
CreditCardDetails/Number 0..1 String Number of the CC. Either Number and Security Code must be provided.
CreditCardDetails/SecurityCode 0..1 String Security code of the CC. Either Number and Security code or Token must be provided.
CreditCardDetails/Token 0..1 String Card information as token if it has been tokenized. Either Token or Number and Security Code must be provided.
CreditCardDetails/Register 0..1 boolean
CreditCardDetails/ExpiryMonth 0..1 String Month of expiration of the CC.
CreditCardDetails/ExpiryYear 0..1 String Year of expiration of the CC.
CreditCardDetails/CardTypeName 0..1 String Type of card, be it VISA, MASTERCARD, …
CreditCardDetails/CardHolderDetails 0..1 SenderDetails Information about the card holder. See common elements.
CurrencyAmount 1 CurrencyAmount Contains the currency and the amount of the transaction. See common elements
Reasons 0..1 Reasons Reasons of the payment. This reasons are add to the transaction information if the provider admits it.
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.
CallBacks 1 Contains information about the payment redirection of the client from the providers web page. (Obsolete: Use BaseCallBacks from ../common-elements instead) See common elements
CallBacks/Urls 1 List of Url. A Url contains information of where the provider will redirect the client of the payment goes good or wrong.
CallBakcs/Urls/Url 1..n String Url value to redirect.
@Type 1 String Type of the Url (possible values: “Success”, “Fail” or “Notification”).
@Status 0..1 String If the Url type is Notification, you can define what type of notification you what to receive in this Url. Only if provider allows it, check StaticConfiguration. (possible values: “Received”, “Denied”, “Refunded” or “Pending”).
CallBacks/Seed 1 String Seed to check providers authentication. Only if provider allows it, check StaticConfiguration.

CreatePaymentRS

<CreatePaymentRS>
    <Transaction Id = "99999-53245-5483-4891" IdType = "Expirable"  ExpiryDate = "2013-12-20T10:48:52.00000Z" Status = "Success" >
        <TransactionDate>2013-12-20T10:48:52.00000Z</TransactionDate>
        <CurrencyAmount CurrencyCode = "EUR" Amount = "2.20" />
        <SenderDetails Id = " ">
            <Email>test@example.com</Email>
            <Name>Max</Name>
            <Surname>Mustermann</Surname>
            <SenderBankDetails>
                <Holder>Max Mustermann</Holder>
                <BankAccount Number = " " SecurityCode = " " />
                <CountryCode>ES</CountryCode>
                <IBAN>DE11888888882222222222</IBAN>
                <BIC>PNAGDE45920</BIC>
            </SenderBankDetails>
        </SenderDetails>
        <RecipientDetails Id = " ">
            <RecipientBankDetails>
                <Holder>Erika Mustermann</Holder>
                <BankAccount Number = " " SecurityCode = " " />
                <CountryCode>ES</CountryCode>
                <IBAN>DE16888888889999999999</IBAN>
                <BIC>PNAGDE00000</BIC>
            </RecipientBankDetails>
        </RecipientDetails>
        <Fees>
            <Fee Id = " ">
                <CurrencyAmount CurrencyCode = "EUR" Amount = "0.00" />
                <ExchangeRate>1.0000</ExchangeRate>
                <Description></Description>
            </Fee>
            <Fee />
            ...
        </Fees>
        <Reasons>
            <Reason Id = "Reference">123456798</Reason>
            <Reason Id = " "></Reason>
            ...
        </Reasons>
    <Transaction>
    <Redirects>
        <HTTPRequests>
            <HTTPRequest>
                <Method>POST</Method>
                <Url>https://www.sofort.com/payment/go/508712aa8572615d6151de6111349bc5872435987c23c</Url>
                <Protocol>HTTP/1.1</Protocol>
                <Headers/>
                <Body/>
                <FormInputs>
                    <Input key = "UTID" value = "1234567890ABCDEF1234"/>
                    <Input key = " " value = " "/>
                    ...
                </FormInputs>
            </HTTPRequest>
            <HTTPRequest/>
            ...
        </HTTPRequests>
    </Redirects>
</CreatePaymentRS>

CreatePaymentRS

Element Number Type Description
CreatePaymentRS 1 Root node.
Transaction 1 Transaction Contains information about the payment transaction.
@Transaction/Id 1 Transaction Transaction identifier.
@Transaction/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.
@Transaction/ExpiryDate 0..1 DateTime Transaction id expiration date. Only returned if IdType = Expirable.
@Transaction/Status 0..1 String Transaction status (possible values: “Success” or “Unknown”).
@Transaction/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/SenderDetails 0..1 SenderDetails Contains information about the payment sender. See common elements.
Transaction/RecipientDetails 0..1 SenderDetails Contains information about the payment recipient. 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.
Redirects 0..1 Redirects Contains information about the payment redirection of the client to the providers web page. See common elements