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>