Authorization Test
PaymentGateway/Authorization/Authorize
Authorize a payment using a manually keyed, swiped or encrypted card data, including payments made using the Tessitura Merchant Services Payment Component.
Http Verb POST
Resource URL https://ts-stg-appgw.calacademy.org/TessituraService/PaymentGateway/Authorization/Authorize

URI Parameters

This resource has no URI (Query) parameters.

Request Body

Request object type : AuthorizationRequest

Request object type AuthorizationRequest has the following properties.
Property Name Data Type Length Required Readonly Notes
AllowPartialAuth boolean N If the requested amount is not available on the cardholder account, accept whatever amount can be authorized. Only works on Vantiv. If a partial amount is authorized, the partial amount will be returned in AuthorizedAmount in the AuthorizationResponse.
Amount decimal number Y Amount to authorize. Use a positve amount to indicate a purchase, and a negative amount to indicate a refund.
AuthorizationCode string N Supply a force or manual auth code that was previously obtained. The supplied auth code will be used for settlement and the card will not be authorized online. Cannot be used for Payment Express or EPay gateways.
BillingAddress BillingAddress N Used for Address Verification System (AVS). Do not pass without also passing ConstituentId
Card CardData Y In the Card object, supply one of the following: 1) card number, 2) track1 and/or track2 data, 3) VantivEncryptedCard object 4) Payment Express token, or 5) account id to reference a previously stored card. If refunding using a ReferenceNumber, do not fill in any of these values. Note that if Cvv2 field is passed, the transaction will be declined if it does not match the value on the cardholder account, except for the EPay gateway.
ConstituentId integer N If not passing ConstituentId, do not pass BillingAddress
FK: T_CUSTOMER.customer_no   Resource: Constituents
DeliveryDate date N A delivery date that is used for Tessitura Merchant Services authorizations only. The date to use for any specific cart is returned by the GetCart service.
IsECommerce boolean Y Set to true for online transactions. Defaults to false.
IsRecurring boolean N Set to true for recurring billing transactions. Defaults to false. Use for Payment Express only and turn on RecurringBillingSupported property in the Payment Gateway profile.
PaymentId integer Y A PaymentId retrieved prior to making the authorization request, using TXN/Payments/ReserveIds.
FK: T_PAYMENT.payment_no   Resource: Payments
PaymentMethodId integer Y A valid payment method ID for use online. Payment methods and their properties can be retrieved from the PaymentMethods resource.
FK: TR_PAYMENT_METHOD.id   Resource: PaymentMethods
ReferenceNumber string N ReferenceNumber may be passed to generate a refund, except for the SecureCXL gateway. A Card object will still be required.
ReturnUrl string N Set for return Url when 3DSecure redirection happens. Use for Tessitura Merchant Services only.
ShopperEmail string N Specifies the email address of the end-user and used for fraud prevention. Use for Tessitura Merchant Services only.
ShopperIp string 40 N Specifies the IP Address of the end-user. Supports IPv4 and IPv6 formatting. Stored in T_PAYMENT_GATEWAY_ACTIVITY.shopper_ip and provider transaction details reporting. Use for Tessitura Merchant Services only.
ShopperName ShopperName N Specify the name of the end-user and used for fraud prevention. Use for Tessitura Merchant Services only.
StoreAccount boolean N If supplied, controls whether or not the account will be stored in T_ACCOUNT_DATA after completion of the authorization, as long as the system-wide default CC_STORE_ACCOUNT is not set to No.
ThreeDSecureData ThreeDSecureData N Optional 3DSecure authentication data (only valid for SecureCXL)
TransactionOrigin string Y Text indicating the origin of the transaction. The text will be written to T_PAYMENT_GATEWAY_ACTIVITY.origin if payment card tokenization is enabled.
UserData string N User-generated free-form text stored in T_PAYMENT_GATEWAY_ACTIVITY.user_data. Tessitura-generated transactions write the invoice, order, or contribution number.
{
  "Amount": 1.0,
  "PaymentId": 2,
  "ConstituentId": 1,
  "Card": {
    "CardHolderName": "sample string 1",
    "CardNumber": "sample string 2",
    "Cvv2": "sample string 3",
    "ExpirationDate": "sample string 4",
    "Track1": "sample string 5",
    "Track2": "sample string 6",
    "VantivEncryptedCard": {
      "Version": "sample string 1",
      "vantivDevice": {
        "DvcType": "sample string 1",
        "DvcSN": "sample string 2",
        "Entry": "sample string 3"
      },
      "vantivCard": {
        "ECData": "sample string 1",
        "ETrk1": "sample string 2",
        "ETrk2": "sample string 3",
        "CDataKSN": "sample string 4",
        "DbtKSN": "sample string 5",
        "DbtPINB": "sample string 6",
        "Exp": "sample string 7",
        "MskPAN": "sample string 8",
        "CHolder": "sample string 9",
        "EFormat": "sample string 10"
      },
      "vantivAddr": {
        "AvsAddr": "sample string 1",
        "AvsZip": "sample string 2"
      },
      "vantivTran": {
        "TranType": "sample string 1"
      }
    },
    "AccountId": 1,
    "TessituraMerchantServicesData": "sample string 7"
  },
  "ThreeDSecureData": {
    "EciIndicatorType": "sample string 1",
    "SecureTransactionId": "sample string 2",
    "SecureTransactionSecurity": "sample string 3",
    "VerAuthValue": "sample string 4",
    "VerCertificateSerialCardHolder": "sample string 5",
    "VerCertificateSerialCardAcceptor": "sample string 6",
    "VerHashResult": "sample string 7",
    "MpiSessionId": "sample string 8"
  },
  "BillingAddress": {
    "PostalCode": "sample string 1",
    "Street1": "sample string 2",
    "AddressId": 1,
    "Country": "sample string 3"
  },
  "AuthorizationCode": "sample string 3",
  "ReferenceNumber": "sample string 4",
  "TransactionOrigin": "sample string 5",
  "PaymentMethodId": 6,
  "IsECommerce": true,
  "IsRecurring": true,
  "AllowPartialAuth": true,
  "UserData": "sample string 10",
  "StoreAccount": true,
  "ReturnUrl": "sample string 11",
  "ShopperIp": "sample string 12",
  "DeliveryDate": "2025-04-24T09:10:52.9499207-07:00",
  "ShopperEmail": "sample string 13",
  "ShopperName": {
    "FirstName": "sample string 1",
    "LastName": "sample string 2"
  }
}
<AuthorizationRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <AllowPartialAuth>true</AllowPartialAuth>
  <Amount>1</Amount>
  <AuthorizationCode>sample string 3</AuthorizationCode>
  <BillingAddress>
    <AddressId>1</AddressId>
    <Country>sample string 3</Country>
    <PostalCode>sample string 1</PostalCode>
    <Street1>sample string 2</Street1>
  </BillingAddress>
  <Card>
    <AccountId>1</AccountId>
    <CardHolderName>sample string 1</CardHolderName>
    <CardNumber>sample string 2</CardNumber>
    <Cvv2>sample string 3</Cvv2>
    <ExpirationDate>sample string 4</ExpirationDate>
    <TessituraMerchantServicesData>sample string 7</TessituraMerchantServicesData>
    <Track1>sample string 5</Track1>
    <Track2>sample string 6</Track2>
    <VantivEncryptedCard>
      <Version>sample string 1</Version>
      <vantivAddr>
        <AvsAddr>sample string 1</AvsAddr>
        <AvsZip>sample string 2</AvsZip>
      </vantivAddr>
      <vantivCard>
        <CDataKSN>sample string 4</CDataKSN>
        <CHolder>sample string 9</CHolder>
        <DbtKSN>sample string 5</DbtKSN>
        <DbtPINB>sample string 6</DbtPINB>
        <ECData>sample string 1</ECData>
        <EFormat>sample string 10</EFormat>
        <ETrk1>sample string 2</ETrk1>
        <ETrk2>sample string 3</ETrk2>
        <Exp>sample string 7</Exp>
        <MskPAN>sample string 8</MskPAN>
      </vantivCard>
      <vantivDevice>
        <DvcSN>sample string 2</DvcSN>
        <DvcType>sample string 1</DvcType>
        <Entry>sample string 3</Entry>
      </vantivDevice>
      <vantivTran>
        <TranType>sample string 1</TranType>
      </vantivTran>
    </VantivEncryptedCard>
  </Card>
  <ConstituentId>1</ConstituentId>
  <DeliveryDate>2025-04-24T09:10:52.9499207-07:00</DeliveryDate>
  <IsECommerce>true</IsECommerce>
  <IsRecurring>true</IsRecurring>
  <PaymentId>2</PaymentId>
  <PaymentMethodId>6</PaymentMethodId>
  <ReferenceNumber>sample string 4</ReferenceNumber>
  <ReturnUrl>sample string 11</ReturnUrl>
  <ShopperEmail>sample string 13</ShopperEmail>
  <ShopperIp>sample string 12</ShopperIp>
  <ShopperName>
    <FirstName>sample string 1</FirstName>
    <LastName>sample string 2</LastName>
  </ShopperName>
  <StoreAccount>true</StoreAccount>
  <ThreeDSecureData>
    <EciIndicatorType>sample string 1</EciIndicatorType>
    <MpiSessionId>sample string 8</MpiSessionId>
    <SecureTransactionId>sample string 2</SecureTransactionId>
    <SecureTransactionSecurity>sample string 3</SecureTransactionSecurity>
    <VerAuthValue>sample string 4</VerAuthValue>
    <VerCertificateSerialCardAcceptor>sample string 6</VerCertificateSerialCardAcceptor>
    <VerCertificateSerialCardHolder>sample string 5</VerCertificateSerialCardHolder>
    <VerHashResult>sample string 7</VerHashResult>
  </ThreeDSecureData>
  <TransactionOrigin>sample string 5</TransactionOrigin>
  <UserData>sample string 10</UserData>
</AuthorizationRequest>

Response object type : AuthorizationResponse

Response object type AuthorizationResponse has the following properties.
Property Name Data Type Length Required Readonly Notes
AccountId integer N AccountId used in transaction. This could be set on the response, even if it were not set on the request, since, depending on settings, the card might be stored during the request.
FK: T_ACCOUNT_DATA.id   Resource: Accounts
AuthorizationCode string Generated by the cardholder's bank, or an echo of a manual/force auth code, if one was provided in the AuthorizationRequest.
AuthorizedAmount decimal number May be lower than requested amount if IsPartialAuth is set.
AVSResponseCode string The degree to which BillingAddress matches the one on the cardholder's account.
BalanceAmount decimal number Remaining card balance may be set for partially authorized transactions (Vantiv).
BalanceCurrencyCode string Currency of remaining card balance may be set for partially authorized transactions (Vantiv).
CVVResponseCode string The status of whether the CVV matched the one on the cardholder's account.
IsPartialAuth boolean Authorized amount was less than the requested amount. (Vantiv).
MaskedCardNumber string Masked number of the credit card used. Used for Tessitura Merchant Services only.
PaymentMethod PaymentMethod PaymentMethod used in transaction. Could have changed from request based on card mnemonic.
ReferenceNumber string Used in subsequent reversal or refund requests or inquiries.
ResponseCode string A "SUCCESS" value (MasterCard) or zero "0" value (other gateways) indicates a successful transaction.
ResponseMessage string Sometimes includes more detailed information about the response than the ResponseCode.
ShopperIp string Previously provided IP Address of the end-user. Formatting may have changed slightly (leading / trailing zeros in octects). Used for Tessitura Merchant Services only.
Succeeded boolean Success (true) or failure (false) of the authorization request. Use this value, rather than ResponseCode, to interpret the disposition of the request.
TessituraMerchantServicesAction string A base64 encoded payload containing a Tessitura Merchant Services Action to pass through to Payment Component. For more details, see the Payment Component documentation here: https://bitbucket.org/TN_WebShare/tessituramerchantservicesintegrationsample/.
{
  "ResponseCode": "sample string 1",
  "ResponseMessage": "sample string 2",
  "AuthorizationCode": "sample string 3",
  "ReferenceNumber": "sample string 4",
  "AccountId": 5,
  "CVVResponseCode": "sample string 6",
  "AVSResponseCode": "sample string 7",
  "Succeeded": true,
  "IsPartialAuth": true,
  "AuthorizedAmount": 10.0,
  "BalanceAmount": 11.0,
  "BalanceCurrencyCode": "sample string 12",
  "PaymentMethod": {
    "AccountType": {
      "Id": 1,
      "Description": "sample string 1",
      "CardPrefix": "sample string 2",
      "CardtypeIndicator": "sample string 3",
      "EditMask": "sample string 4",
      "Inactive": true
    },
    "AuthIndicator": true,
    "BusinessUnitId": 2,
    "RequireCheckIndicator": true,
    "CreatedDateTime": "2025-04-24T09:10:52.9655651-07:00",
    "CreateLocation": "sample string 4",
    "CreatedBy": "sample string 5",
    "CurrencyTypeId": 1,
    "DefaultIndicator": true,
    "Description": "sample string 7",
    "GiftAidIndicator": true,
    "Id": 1,
    "Inactive": true,
    "Income": true,
    "CanRefund": true,
    "UpdatedDateTime": "2025-04-24T09:10:52.9655651-07:00",
    "UpdatedBy": "sample string 12",
    "NoCopiesOnAuth": 1,
    "NoCopiesOnSave": 1,
    "PaymentMethodGroup": {
      "Id": 1,
      "Description": "sample string 1",
      "Inactive": true,
      "MerchantId": "sample string 3"
    },
    "PaymentType": {
      "Id": 1,
      "Description": "sample string 1"
    },
    "ReceiptFormatId": 1,
    "RequirePostalCode": "sample string 13",
    "ShortDesc": "sample string 14",
    "StoreTenderedAmount": true,
    "OpenCashDrawer": true,
    "RequireCvv": true,
    "UseWithCardReader": true,
    "GlAccountId": "sample string 19",
    "MerchantId": "sample string 20",
    "MerchantIdForSwipe": "sample string 21",
    "ControlGroup": {
      "Description": "sample string 1",
      "Id": 2,
      "Inactive": true
    }
  },
  "TessituraMerchantServicesAction": "sample string 13",
  "ShopperIp": "sample string 14",
  "MaskedCardNumber": "sample string 15"
}
<AuthorizationResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <AVSResponseCode>sample string 7</AVSResponseCode>
  <AccountId>5</AccountId>
  <AuthorizationCode>sample string 3</AuthorizationCode>
  <AuthorizedAmount>10</AuthorizedAmount>
  <BalanceAmount>11</BalanceAmount>
  <BalanceCurrencyCode>sample string 12</BalanceCurrencyCode>
  <CVVResponseCode>sample string 6</CVVResponseCode>
  <IsPartialAuth>true</IsPartialAuth>
  <MaskedCardNumber>sample string 15</MaskedCardNumber>
  <PaymentMethod>
    <AccountType>
      <CardPrefix>sample string 2</CardPrefix>
      <CardtypeIndicator>sample string 3</CardtypeIndicator>
      <Description>sample string 1</Description>
      <EditMask>sample string 4</EditMask>
      <Id>1</Id>
      <Inactive>true</Inactive>
    </AccountType>
    <AuthIndicator>true</AuthIndicator>
    <BusinessUnitId>2</BusinessUnitId>
    <CanRefund>true</CanRefund>
    <ControlGroup>
      <Description>sample string 1</Description>
      <Id>2</Id>
      <Inactive>true</Inactive>
    </ControlGroup>
    <CreateLocation>sample string 4</CreateLocation>
    <CreatedBy>sample string 5</CreatedBy>
    <CreatedDateTime>2025-04-24T09:10:52.9655651-07:00</CreatedDateTime>
    <CurrencyTypeId>1</CurrencyTypeId>
    <DefaultIndicator>true</DefaultIndicator>
    <Description>sample string 7</Description>
    <GiftAidIndicator>true</GiftAidIndicator>
    <GlAccountId>sample string 19</GlAccountId>
    <Id>1</Id>
    <Inactive>true</Inactive>
    <Income>true</Income>
    <MerchantId>sample string 20</MerchantId>
    <MerchantIdForSwipe>sample string 21</MerchantIdForSwipe>
    <NoCopiesOnAuth>1</NoCopiesOnAuth>
    <NoCopiesOnSave>1</NoCopiesOnSave>
    <OpenCashDrawer>true</OpenCashDrawer>
    <PaymentMethodGroup>
      <Description>sample string 1</Description>
      <Id>1</Id>
      <Inactive>true</Inactive>
      <MerchantId>sample string 3</MerchantId>
    </PaymentMethodGroup>
    <PaymentType>
      <Description>sample string 1</Description>
      <Id>1</Id>
    </PaymentType>
    <ReceiptFormatId>1</ReceiptFormatId>
    <RequireCheckIndicator>true</RequireCheckIndicator>
    <RequireCvv>true</RequireCvv>
    <RequirePostalCode>sample string 13</RequirePostalCode>
    <ShortDesc>sample string 14</ShortDesc>
    <StoreTenderedAmount>true</StoreTenderedAmount>
    <UpdatedBy>sample string 12</UpdatedBy>
    <UpdatedDateTime>2025-04-24T09:10:52.9655651-07:00</UpdatedDateTime>
    <UseWithCardReader>true</UseWithCardReader>
  </PaymentMethod>
  <ReferenceNumber>sample string 4</ReferenceNumber>
  <ResponseCode>sample string 1</ResponseCode>
  <ResponseMessage>sample string 2</ResponseMessage>
  <ShopperIp>sample string 14</ShopperIp>
  <Succeeded>true</Succeeded>
  <TessituraMerchantServicesAction>sample string 13</TessituraMerchantServicesAction>
</AuthorizationResponse>
Change Version Description Contract Old New
Property Added 15.2.41 ShopperEmail has been added to AuthorizationRequest AuthorizationRequest AuthorizationRequest.ShopperEmail
Property Added 15.2.41 ShopperName has been added to AuthorizationRequest AuthorizationRequest AuthorizationRequest.ShopperName
Property Added 15.2.38 DeliveryDate has been added to AuthorizationRequest AuthorizationRequest AuthorizationRequest.DeliveryDate
Property Added 15.2.37 MaskedCardNumber has been added to AuthorizationResponse AuthorizationResponse AuthorizationResponse.MaskedCardNumber
Property Changed 15.2.36 PaymentMethod has changed from PaymentMethodSummary to PaymentMethod AuthorizationResponse PaymentMethodSummary PaymentMethod
Property Added 15.2.36 ShopperIp has been added to AuthorizationResponse AuthorizationResponse AuthorizationResponse.ShopperIp
Property Added 15.2.36 ShopperIp has been added to AuthorizationRequest AuthorizationRequest AuthorizationRequest.ShopperIp
Property Added 15.2.28 PaymentMethod has been added to AuthorizationResponse AuthorizationResponse AuthorizationResponse.PaymentMethod
Property Added 15.2.28 TessituraMerchantServicesAction has been added to AuthorizationResponse AuthorizationResponse AuthorizationResponse.TessituraMerchantServicesAction
Property Added 15.2.28 ReturnUrl has been added to AuthorizationRequest AuthorizationRequest AuthorizationRequest.ReturnUrl
Property Added 15.1.2 IsRecurring has been added to AuthorizationRequest AuthorizationRequest AuthorizationRequest.IsRecurring