Update Token

Modify existing transaction data with updateToken using DPO Pay API v6 or v7.

Update Token

Modify existing transaction data for a transaction token before the transaction reaches a status that no longer allows updates.

Use updateToken to update transaction details such as the amount, company reference, customer details, accounting reference, payment time limit, and airline details where supported.


Version endpoints

POST https://secure.3gdirectpay.com/API/v6/

Send requests using XML in the request body.

Content-Type: application/xml; charset=utf-8
Accept: application/xml

Request parameters

ParameterData typeDescriptionRequired
RequestTextMust be updateToken.Mandatory
CompanyTokenTokenToken you received from 3G to operate this API.Mandatory
TransactionTokenTokenTransaction token received from createToken.Mandatory
PaymentAmountMoneyTransaction amount, up to 2 decimal places.Optional
CompanyRefTextCompany reference number.Optional
CustomerEmailTextCustomer email address used to send the payment link.Optional
CustomerFirstNameTextCustomer first name.Optional
CustomerLastNameTextCustomer last name.Optional
CustomerAddressTextCustomer address.Optional
CustomerCityTextCustomer city.Optional
CustomerCountryISO codeCustomer country ISO 2-letter code. See http://en.wikipedia.org/wiki/ISO_3166-1.Optional
CustomerDialCodeISO codeCustomer country ISO 2-letter code. See http://en.wikipedia.org/wiki/ISO_3166-1.Optional
CustomerPhoneNumberCustomer phone number.Optional
CustomerZipTextCustomer ZIP code.Optional
CompanyAccRefTextInternal accounting reference number.Optional
UserTokenTokenDefines who created the transaction.Optional

API v7 additional airline fields

Use AdditionalAirlineFields to update additional airline transaction properties.

AdditionalAirlineFields parameters

ParameterData typeDescriptionRequired
TicketTypeTextTicket type.Optional
DocumentTypeTextDocument type.Optional
DateIssuedDateTimeDate issued.Mandatory
IATACarrierCodeTextIATA carrier code.Mandatory
IATATravelAgencyNbrTextIATA travel agency number.Optional
TicketCarrierNameTextTicket carrier name.Optional
TicketIssuerCityNameTextTicket issuer city name.Optional
PassengerCountNumericNumber of passengers.Optional
ConjTicketIndicatorTextConjunction ticket indicator.Optional
ElecTicketIndicatorTextElectronic ticket indicator.Optional
TicketNumberTextExchanged or original ticket number, or PNR.Mandatory
FlightLegDetailsXML (String)Flight leg details.Optional
TravelersXML (String)Traveler details.Optional

Traveler parameters

ParameterData typeDescriptionRequired
TravelerFirstNameTextFirst name.Mandatory
TravelerLastNameTextLast name.Mandatory
TravelerPhoneTextPhone number.Optional
TravelerPhonePrefixNumericPhone number prefix without +.Optional
TravelerDateOfBirthDateTimeTraveler date of birth.Optional
TravelerCountryCodeTextTraveler country code.Optional

Flight leg parameters

ParameterData typeDescriptionRequired
FlightDescriptionTextDescription of the payment made.Mandatory
FlightTypeNumberService type number according to the options accepted by DPO.Mandatory
FlightDateDateTimeService date of the booked service. Format: YYYY/MM/DD HH:MM.Mandatory
FlightFromText3-letter departure airport code.Mandatory
FlightToText3-letter destination airport code.Mandatory
FlightRefTextService reference.Optional
CarrierCodeTextIATA carrier code.Mandatory
ServiceClassTextService class.Mandatory
FlightNumberTextFlight number.Mandatory
FareBasisCodeTextFare basis code.Mandatory
StopOverCodeTextStopover code.Mandatory

Statuses that allow updateToken

updateToken is available for transactions in the following statuses.

Status IDStatus name
2Sent
3Queued
4Website Pending
5Prep
10Pending
12Authorised

API v6 request example

<?xml version="1.0" encoding="utf-8"?>
<API3G>
  <CompanyToken>68B90B5E-25F6-4146-8AB1-C7A3A0C41A7F</CompanyToken>
  <Request>updateToken</Request>
  <TransactionToken>EC9E975A-A7A2-4031-8972-BF123CDD9EDD</TransactionToken>
  <PaymentAmount>44</PaymentAmount>
  <CompanyRef>DPO1212</CompanyRef>
  <CustomerEmail>[email protected]</CustomerEmail>
  <CustomerFirstName>Steven dsa</CustomerFirstName>
  <CustomerLastName>Muallem</CustomerLastName>
  <CustomerAddress>Rose Avenue 6</CustomerAddress>
  <CustomerCity>Nairobi</CustomerCity>
  <CustomerCountry>KE</CustomerCountry>
  <CustomerDialCode>KE</CustomerDialCode>
  <CustomerPhone>4433332312</CustomerPhone>
  <CustomerZip>121212</CustomerZip>
  <CompanyAccRef>DPO3232</CompanyAccRef>
  <UserToken>3DBC6853-8352-4902-8370-C6B38C379999E</UserToken>
</API3G>

API v7 request example

<?xml version="1.0" encoding="utf-8"?>
<API3G>
  <CompanyToken>68B90B5E-25F6-4146-8AB1-C7A3A0C41A7F</CompanyToken>
  <Request>updateToken</Request>
  <TransactionToken>EC9E975A-A7A2-4031-8972-BF123CDD9EDD</TransactionToken>
  <PaymentAmount>44</PaymentAmount>
  <PaymentMarkupMDRFee>2.93</PaymentMarkupMDRFee>
  <CompanyRef>DPO1212</CompanyRef>
  <CustomerEmail>[email protected]</CustomerEmail>
  <CustomerFirstName>Steven dsa</CustomerFirstName>
  <CustomerLastName>Muallem</CustomerLastName>
  <CustomerAddress>Rose Avenue 6</CustomerAddress>
  <CustomerCity>Nairobi</CustomerCity>
  <CustomerCountry>KE</CustomerCountry>
  <CustomerDialCode>KE</CustomerDialCode>
  <CustomerPhone>4433332312</CustomerPhone>
  <CustomerZip>121212</CustomerZip>
  <CompanyAccRef>DPO3232</CompanyAccRef>
  <UserToken>3DBC6853-8352-4902-8370-C6B38C379999E</UserToken>
  <AdditionalAirlineFields>
    <TicketType>TICKET_PURCHASE</TicketType>
    <DocumentType>ADDITIONAL_COLLECTION</DocumentType>
    <DateIssued>2013/12/20 20:00</DateIssued>
    <IATACarrierCode>CP</IATACarrierCode>
    <IATATravelAgencyNbr>56451855</IATATravelAgencyNbr>
    <TicketCarrierName>KenyaAirways</TicketCarrierName>
    <TicketIssuerCityName>Nairobi</TicketIssuerCityName>
    <PassengerCount>3</PassengerCount>
    <ConjTicketIndicator>12233</ConjTicketIndicator>
    <ElecTicketIndicator>1A848F</ElecTicketIndicator>
    <TicketNumber>45678945675</TicketNumber>
    <FlightLegDetails>
      <FlightLeg>
        <FlightDescription>Flight from TelAviv to CapeTown</FlightDescription>
        <FlightType>45</FlightType>
        <FlightDate>2013/12/20</FlightDate>
        <FlightFrom>TLV</FlightFrom>
        <FlightTo>CPT</FlightTo>
        <FlightRef>1234ABC</FlightRef>
        <CarrierCode>AI</CarrierCode>
        <ServiceClass>A</ServiceClass>
        <FlightNumber>1045</FlightNumber>
        <FareBasisCode>SPRSVR</FareBasisCode>
        <StopOverCode>X</StopOverCode>
      </FlightLeg>
      <FlightLeg>
        <FlightDescription>Flight from CapeTown to TelAviv</FlightDescription>
        <FlightType>45</FlightType>
        <FlightDate>2013/12/21 16:00</FlightDate>
        <FlightFrom>CPT</FlightFrom>
        <FlightTo>TLV</FlightTo>
        <FlightRef>1234ABC</FlightRef>
        <CarrierCode>AI</CarrierCode>
        <ServiceClass>A</ServiceClass>
        <FlightNumber>1045</FlightNumber>
        <FareBasisCode>SPRSVR</FareBasisCode>
        <StopOverCode>X</StopOverCode>
      </FlightLeg>
    </FlightLegDetails>
    <Travelers>
      <Traveler>
        <TravelerFirstName>John</TravelerFirstName>
        <TravelerLastName>Doe</TravelerLastName>
        <TravelerPhone>45640404</TravelerPhone>
        <TravelerPhonePrefix>123</TravelerPhonePrefix>
        <TravelerDateOfBirth>2001/12/21</TravelerDateOfBirth>
        <TravelerCountryCode>US</TravelerCountryCode>
      </Traveler>
      <Traveler>
        <TravelerFirstName>Rose</TravelerFirstName>
        <TravelerLastName>Doe</TravelerLastName>
      </Traveler>
    </Travelers>
  </AdditionalAirlineFields>
</API3G>

Response fields

ParameterData typeDescription
Result3-digit codeCode sent with the result of the request.
ResultExplanationTextFree text result explanation.

Response codes

CodeExplanation
000Token been updated.
999Custom error message.
804Error in XML.
950Request missing transaction-level mandatory fields.

Success response examples

<?xml version="1.0" encoding="utf-8"?>
<API3G>
  <Result>000</Result>
  <ResultExplanation>Token been updated</ResultExplanation>
</API3G>

Failure response example for API v7

<?xml version="1.0" encoding="UTF-8"?>
<API3G>
  <Code>999</Code>
  <Explanation>Transaction invalid</Explanation>
</API3G>