CnPAPI.Engine.Request.Order.Transaction
Elements:
- TransactionType
- DynamicDescriptor
- Recurring
- CurrentTotals
- CouponCode
- TransactionDiscount
- TransactionTax
- TransactionConvenienceFee
- ChargeDate
- CustomParameters
- ReferenceTransaction
- GiftCardList
Schema
<xsd:element name="Transaction">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="TransactionType" minOccurs="0"/>
<xsd:element ref="DynamicDescriptor" minOccurs="0"/>
<xsd:element ref="Recurring" minOccurs="0"/>
<xsd:element ref="CurrentTotals" minOccurs="0"/>
<xsd:element ref="CouponCode" minOccurs="0"/>
<xsd:element ref="TransactionDiscount" minOccurs="0"/>
<xsd:element ref="TransactionTax" minOccurs="0"/>
<xsd:element ref="TransactionConvenienceFee" minOccurs="0"/>
<xsd:element ref="ChargeDate" minOccurs="0"/>
<xsd:element ref="CustomParameters" minOccurs="0"/>
<xsd:element ref="ReferenceTransaction" minOccurs="0"/>
<xsd:element ref="GiftCardList" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Example
<Transaction>
<TransactionType>Authorize</TransactionType>
<DynamicDescriptor>DynamicDescriptor
| Phone</DynamicDescriptor>
<Recurring>
<Installment>2</Installment>
<Periodicity>2
Months</Periodicity>
</Recurring>
<CurrentTotals>
<TotalDiscount>800</TotalDiscount>
<TotalTax>900</TotalTax>
<TotalShipping>500</TotalShipping>
<TotalDeductible>700</TotalDeductible>
<Total>4600</Total>
</CurrentTotals>
</Transaction>
TransactionType
Name
|
TransactionType
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.TransactionType
|
Description
|
The type of transaction this order represents.
|
Data Type
|
String
|
Range
|
Authorize: Transaction will not settle and will need to be
settled manually.
Payment: Transaction posted as settled and is final.
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
1.2
|
Required
|
Yes
|
Example
|
<TransactionType>Payment</TransactionType>
|
Schema
<xsd:element name="TransactionType">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>The type of transaction this order represents.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Authorize"/>
<xsd:enumeration value="Payment"/>
<xsd:enumeration value="PreAuthorization"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
DynamicDescriptor
Name
|
DynamicDescriptor
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.DynamicDescriptor
|
Description
|
The name that appears on the card holder’s statement.
|
Data Type
|
Minimum: blank
Maximum: 39 characters
|
Range
|
Maximum 39characters
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
1.2
|
Required
|
It is required only for In-house account. Ignored for the
merchant accounts.
|
Example
|
<DynamicDescriptor>Campaign of VA |
5409619811</DynamicDescriptor>
|
IMPORTANT
POINT:
The
dynamic descriptor has to include the phone number where a card holder may
contact the organization. It has to be similar to the example provided.
Schema
<xsd:element name="DynamicDescriptor">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>The name that appears on the card holder’s statement.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="39"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
Recurring
CnPAPI.Engine.Request.Order.Transaction.Recurring
Elements:
Schema
<xsd:element name="Recurring">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Installment" minOccurs="0"/>
<xsd:element ref="EndDate" minOccurs="0"/>
<xsd:element ref="Periodicity"/>
<xsd:element ref="RecurringMethod" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Example
<Recurring>
<Installment>2</Installment>
<Periodicity>2
Months</Periodicity>
</Recurring>
Installment
CnPAPI.Engine.Request.Order.Transaction.Recurring.Installment
Name
|
Installment
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.Recurring.Installment
|
Description
|
The number of times a payment will be replicated.
|
Data Type
|
Int16
|
Range
|
Minimum: 2
Maximum: 999
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
1.2
|
Required
|
No
|
Example
|
<Installment>6</Installment>
|
Schema
<xsd:element name="Installment">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>The number of periods the transaction should be repeated.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="2"/>
<xsd:maxInclusive value="999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
EndDate
CnPAPI.Engine.Request.Order.Transaction.Recurring.EndDate
Name
|
EndDate
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.Recurring.EndDate
|
Description
|
The date when the recurring payments should end.
|
Data Type
|
String
|
Range
|
dd/mm/yy
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
2.90
|
Required
|
No [optional – ignored if Installment is used. Use in place
of periodicity.
|
Example
|
<EndDate>15/01/09</EndDate>
|
Schema
<xsd:element name="EndDate">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>yy/mm/dd</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9][0-9]/[0-9][0-9]/[0-9][0-9]"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
Periodicity
CnPAPI.Engine.Request.Order.Transaction.Recurring.Periodicity
Name
|
Periodicity
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.Recurring.Periodicity
|
Description
|
The period for the recurring transaction. After the first
transaction, all subsequent charges will occur with this period. Credit
card expiration date will be checked for validity based on the period and
installments.
|
Data Type
|
String
|
Range
|
It must be one of the following
Week
2 Weeks
Month
2 Months
Quarter
6 Months
Year
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
1.2
|
Required
|
No. Use either periodicity or EndDate when posting
recurring transaction.
|
Example
|
<Periodicity>2 Months</Periodicity>
|
Schema
<xsd:element name="Periodicity">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>The period for the recurring transaction. After the first transaction, all subsequent
charges will occur with this period.
Credit card expiration date will be checked for validity based on the
period and installments.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Week"/>
<xsd:enumeration value="2 Weeks"/>
<xsd:enumeration value="Month"/>
<xsd:enumeration value="2 Months"/>
<xsd:enumeration value="Quarter"/>
<xsd:enumeration value="6 Months"/>
<xsd:enumeration value="Year"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
RecurringMethod
CnPAPI.Engine.Request.Order.Transaction.Recurring.RecurringMethod
Name
|
RecurringMethod
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.Recurring.RecurringMethod
|
Description
|
The
recurring method used. The value will ONLY be used for reporting.
|
Data Type
|
String
|
Range
|
It must be one of the following
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
2.24
|
Required
|
No. - value is only used in the report
|
Example
|
<RecurringMethod>Subscription</RecurringMethod>
|
Schema
<xsd:element name="RecurringMethod">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation></xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Installment"/>
<xsd:enumeration value="Subscription"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
CurrentTotals
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals
Elements:
- TotalDiscount
- TotalTax
- TotalShipping
- TotalDeductible
- Total
Schema
<xsd:element name="CurrentTotals">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="TotalDiscount" minOccurs="0"/>
<xsd:element ref="TotalTax" minOccurs="0"/>
<xsd:element ref="TotalShipping" minOccurs="0"/>
<xsd:element ref="TotalDeductible" minOccurs="0"/>
<xsd:element ref="Total"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
TotalDiscount
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals.TotalDiscount
Name
|
TotalDiscount
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals.TotalDiscount
|
Description
|
Sum
of all individual discounts applied for each item in the list.
|
Data Type
|
long
|
Range
|
Min: 0
Max: 9999999999
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
1.20
|
Required
|
No
|
Example
|
<TotalDiscount>1000</
TotalDiscount >
|
Schema
<xsd:element name="TotalDiscount">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>Total discount applied to the order</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:long">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
TotalTax
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals.TotalTax
Name
|
TotalTax
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals.TotalTax
|
Description
|
Total
tax applied to the transaction
|
Data Type
|
long
|
Range
|
Min: 0
Max: 9999999999
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
1.20
|
Required
|
No
|
Example
|
<TotalTax>1000</TotalTax >
|
Schema
<xsd:element name="TotalTax">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>Total tax for the order</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:long">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
TotalShipping
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals.TotalShipping
Name
|
TotalShipping
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals.TotalShipping
|
Description
|
Total
cost of shipping for the transaction
|
Data Type
|
long
|
Range
|
Min: 0
Max: 9999999999
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
1.20
|
Required
|
No. - value is only used in the report
|
Example
|
<
TotalShipping>1000</TotalShipping>
|
Schema
<xsd:element name="TotalShipping">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>Total shipping cost for the order</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:long">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
TotalDeductible
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals.TotalDeductible
Name
|
TotalDeductible
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals.TotalDeductible
|
Description
|
Total
tax deductible portion for the transaction
|
Data Type
|
long
|
Range
|
Min: 0
Max: 9999999999
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
1.20
|
Required
|
No
|
Example
|
<TotalDeductible>2500</TotalDeductible >
|
Schema
<xsd:element name="TotalDeductible">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>Total tax deductible portion of the
order</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:long">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
Total
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals.Total
Name
|
Total
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.CurrentTotals.Total
|
Description
|
Total
transaction amount
|
Data Type
|
long
|
Range
|
Min: 0
Max: 9999999999
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
1.20
|
Required
|
Yes
|
Example
|
<Total>3500</Total >
|
Schema
<xsd:element name="Total">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>Total amount to be charged.</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:long">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
CouponCode
Name
|
CouponCode
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.CouponCode
|
Description
|
The type of transaction this order represents.
|
Data Type
|
String
|
Range
|
Min: 0
Max: 50 characters
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
2.32
|
Required
|
No
|
Example
|
<CouponCode>ABCDEF-500</CouponCode >
|
Schema
<xsd:element name="CouponCode">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation></xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="50"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
TransactionDiscount
Name
|
TransactionDiscount
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.TransactionDiscount
|
Description
|
The type of transaction this order represents.
|
Data Type
|
long
|
Range
|
Min: 0
Max: 9999999999
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
2.48
|
Required
|
No
|
Example
|
< TransactionDiscount>500</TransactionDiscount>
|
Schema
<xsd:element name="TransactionDiscount">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>Total discount applied to the transaction</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:long">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
TransactionTax
Name
|
TransactionTax
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.TransactionTax
|
Description
|
Tax associated with the entire transaction
|
Data Type
|
long
|
Range
|
Min: 0
Max: 9999999999
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
2.48
|
Required
|
No
|
Example
|
<TransactionTax>123</ TransactionTax>
|
Schema
<xsd:element name="TransactionTax">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>Total tax
applied to the transaction</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:long">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
TransactionConvenienceFee
Name
|
TransactionConvenienceFee
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.TransactionConvenienceFee
|
Description
|
Total convenience fee applied to the transaction
|
Data Type
|
long
|
Range
|
Min: 0
Max: 9999999999
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
2.50
|
Required
|
No
|
Example
|
<TransactionConvenienceFee>456</TransactionConvenienceFee>
|
Schema
<xsd:element name="TransactionConvenienceFee">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>Total
convenience fee applied to the transaction</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:long">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
ChargeDate [Not Supported for ACH/eCheck]
Name
|
ChargeDate
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.ChargeDate
|
Description
|
The date the transaction should be processed.
|
Data Type
|
date
|
Range
|
YY/MM/DD
|
Default
|
|
Operation
|
Transaction Operation only for Credit Cards. eCheck/ACH not supported
|
Input/output
|
Input
|
Version/Release
|
2.48
|
Required
|
No
|
Example
|
<ChargeDate>12/01/30</ChargeDate>
|
Schema
<xsd:element name="ChargeDate">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>yy/mm/dd</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9][0-9]/[0-9][0-9]/[0-9][0-9]"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
ReferenceTransaction
CnPAPI.Engine.Request.Order.Transaction.ReferenceTransaction
Elements:
Schema
<xsd:element name="ReferenceTransaction">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="OrderNumber"/>
<xsd:element ref="VaultGUID"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
OrderNumber
Name
|
OrderNumber
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.ReferenceTransaction.OrderNumber
|
Description
|
The order number for the previous transaction
|
Data Type
|
String
|
Range
|
Max
= 36 characters
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
2.48
|
Required
|
No
|
Example
|
< OrderNumber>123456</OrderNumber>
|
Schema
<xsd:element name="OrderNumber">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
<xsd:restriction base="xsd:normalizedString">
<xsd:maxLength value="36"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
VaultGUID
Name
|
VaultGUID
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.ReferenceTransaction.VaultGUID
|
Description
|
The VaultGUID for the previous transaction
|
Data Type
|
String
|
Range
|
Max
= 36 characters
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
2.48
|
Required
|
No
|
Example
|
<VaultGUID>ABCD1234EGFDF4444</VaultGUID>
|
Schema
<xsd:element name="VaultGUID">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation/>
</xsd:annotation>
<xsd:restriction base="xsd:normalizedString">
<xsd:length value="36"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
GiftCardList
CnPAPI.Engine.Request.Order.Transaction.GiftCardList
Elements:
Schema:
<xsd:element name="GiftCardList">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="GiftCard" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
GiftCard
CnPAPI.Engine.Request.Order.Transaction.GiftCardList.GiftCard
Elements:
- GiftCardCode
- GiftCardAmount
Schema
<xsd:element name="GiftCard">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="GiftCardCode"/>
<xsd:element ref="GiftCardAmount"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
GiftCardCode
Name
|
GiftCardCode
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.GiftCardList.GiftCardCode
|
Description
|
The code for the gift card discount card
|
Data Type
|
String
|
Range
|
Max
= 50 characters
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
2.48
|
Required
|
No
|
Example
|
<GiftCardCode>ABCDE123456</GiftCardCode>
|
Schema
<xsd:element name="GiftCardCode">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation>GiftCardCode</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="50"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
GiftCardAmount
Name
|
GiftCardAmount
|
Path
|
CnPAPI.Engine.Request.Order.Transaction.GiftCardList.GiftCardAmount
|
Description
|
The gift card’s discount amount
|
Data Type
|
long
|
Range
|
Min
= 0
Max = 9999999999
|
Default
|
|
Operation
|
Transaction Operation only
|
Input/output
|
Input
|
Version/Release
|
2.48
|
Required
|
No
|
Example
|
<GiftCardAmount>123</GiftCardAmount>
|
Schema
<xsd:element name="GiftCardAmount">
<xsd:simpleType>
<xsd:annotation>
<xsd:documentation></xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:long">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="9999999999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>