POST | /ACHRefund |
---|
namespace Paysecure.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<DataContract>]
[<AllowNullLiteral>]
type InOutTimes() =
class end
[<DataContract>]
[<AllowNullLiteral>]
type RequestTimestamps() =
[<DataMember(EmitDefaultValue=false)>]
member val AppLayer:InOutTimes = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val ParentLookup:InOutTimes = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val RetryLookup:InOutTimes = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val GetCardData:InOutTimes = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val CardTokenize:InOutTimes = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val CardEncrypt:InOutTimes = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val DBInsert:InOutTimes = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val BackendProcess:InOutTimes = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val DBUpdate:InOutTimes = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val ParentUpdate:InOutTimes = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val Network:InOutTimes = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type PaysecureResponseInternal() =
[<DataMember(EmitDefaultValue=false)>]
member val Timestamps:RequestTimestamps = null with get,set
type CardInfoType =
| CardNumber = 0
| Token = 1
| Track = 2
| EMV = 3
| Encrypted = 4
| DPAN = 5
| ApplePay = 6
| GooglePay = 7
| SamsungPay = 8
| CPToken = 9
| EncryptedEnhanced = 10
| EncryptedJWE = 11
[<AllowNullLiteral>]
type CardAccountUpdaterDescriptor() =
member val CardDataType:CardInfoType = new CardInfoType() with get,set
member val CardNumberInfo:String = null with get,set
member val ExpiryDate:String = null with get,set
member val Status:String = null with get,set
member val ErrorCode:String = null with get,set
member val CardToken:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type ExtendedResponse() =
[<DataMember(EmitDefaultValue=false)>]
member val CardAccountUpdater:CardAccountUpdaterDescriptor = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val ProductId:String = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val NetworkResponseCode:String = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val NetworkTransactionId:String = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val CHEmailAddrResult:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type PaysecureVersion() =
inherit PaysecureResponseInternal()
[<DataMember(EmitDefaultValue=false)>]
member val LocalDateTime:String = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val Token:String = null with get,set
[<DataMember(EmitDefaultValue=false)>]
member val ExtendedData:ExtendedResponse = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type Refund() =
inherit PaysecureVersion()
[<DataMember>]
member val TranId:String = null with get,set
[<DataMember>]
member val ApprovalCode:String = null with get,set
[<DataMember>]
member val ResponseCode:String = null with get,set
[<DataMember>]
member val Network:String = null with get,set
[<DataMember>]
member val ErrorMessage:String = null with get,set
[<DataMember>]
member val ErrorCode:String = null with get,set
[<AllowNullLiteral>]
type RequestorCredentials() =
[<Required>]
member val MerchantId:String = null with get,set
[<Required>]
member val UserName:String = null with get,set
[<Required>]
member val Password:String = null with get,set
[<Required>]
member val Version:String = null with get,set
[<AllowNullLiteral>]
type MerchantDataElements() =
member val RefundSettlementTypeDetails:Int32 = new Int32() with get,set
member val SendRecurringPOSEntryModeFeature:Boolean = new Boolean() with get,set
member val UseOrgPOSCode:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type MerchantDescriptorBase() =
member val DataElements:MerchantDataElements = null with get,set
[<AllowNullLiteral>]
type MerchantDescriptor() =
inherit MerchantDescriptorBase()
member val Name:String = null with get,set
member val Address:String = null with get,set
member val City:String = null with get,set
member val State:String = null with get,set
member val Zip:String = null with get,set
member val Country:String = null with get,set
member val CustomerServiceNumber:String = null with get,set
member val MCC:String = null with get,set
member val FNSnum:String = null with get,set
member val Email:String = null with get,set
type TelephoneType =
| D = 0
| H = 1
| N = 2
| W = 3
[<AllowNullLiteral>]
type Avs() =
member val Address:String = null with get,set
member val City:String = null with get,set
member val State:String = null with get,set
member val Zip:String = null with get,set
member val Country:String = null with get,set
member val Email:String = null with get,set
member val IPAddress:String = null with get,set
member val TelephoneNumber:String = null with get,set
member val TelephoneType:TelephoneType = new TelephoneType() with get,set
member val DeliveryMethod:Int32 = new Int32() with get,set
member val FirstName:String = null with get,set
member val MiddleName:String = null with get,set
member val LastName:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type ACHExtendedData() =
[<DataMember>]
member val CashbackAmount:Int32 = new Int32() with get,set
[<DataMember>]
member val ConnectPaySubScriberId:String = null with get,set
[<DataMember>]
member val OrganizationId:String = null with get,set
[<DataMember>]
member val DeviceFingerPrint:String = null with get,set
[<DataMember>]
member val MerchantSessionId:String = null with get,set
[<DataMember>]
member val CurrencyCode:String = null with get,set
[<DataMember>]
member val PaymentType:String = null with get,set
[<DataMember>]
member val VerifyCustomer:Boolean = new Boolean() with get,set
[<DataMember>]
member val CustomerExternalId:String = null with get,set
[<DataMember>]
member val Description:String = null with get,set
[<DataMember>]
member val CustomerName:String = null with get,set
[<DataMember>]
member val AddressLine1:String = null with get,set
[<DataMember>]
member val AddressLine2:String = null with get,set
[<DataMember>]
member val City:String = null with get,set
[<DataMember>]
member val State:String = null with get,set
[<DataMember>]
member val Zip:String = null with get,set
[<DataMember>]
member val Country:String = null with get,set
[<DataMember>]
member val Email:String = null with get,set
[<DataMember>]
member val TelephoneNumber:String = null with get,set
[<DataMember>]
member val ReturnUrl:String = null with get,set
[<DataMember>]
member val CancelUrl:String = null with get,set
[<DataMember>]
member val EstablishData:String = null with get,set
[<DataMember>]
member val RedirectUrl:String = null with get,set
[<DataMember>]
member val RetryAttemptCount:Int32 = new Int32() with get,set
[<DataMember>]
member val SignatureHashVersion:String = null with get,set
[<DataMember>]
member val DeadlineHashDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<DataContract>]
[<AllowNullLiteral>]
type AchRefundRequest() =
[<DataMember>]
member val Credentials:RequestorCredentials = null with get,set
[<DataMember>]
member val TranId:String = null with get,set
[<DataMember>]
member val Amount:Int32 = new Int32() with get,set
[<DataMember>]
member val ReferenceKey:String = null with get,set
[<DataMember>]
member val MerchantDetails:MerchantDescriptor = null with get,set
[<DataMember>]
member val Custom1:String = null with get,set
[<DataMember>]
member val Custom2:String = null with get,set
[<DataMember>]
member val Custom3:String = null with get,set
[<DataMember>]
member val Custom4:String = null with get,set
[<DataMember>]
member val Custom5:String = null with get,set
[<DataMember>]
member val SignatureHash:String = null with get,set
[<DataMember>]
member val AVS:Avs = null with get,set
[<DataMember>]
member val ExtendedData:ACHExtendedData = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /ACHRefund HTTP/1.1
Host: api.paysecure.acculynk.net
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"Credentials":{"MerchantId":"String","UserName":"String","Password":"String","Version":"String"},"TranId":"String","Amount":0,"ReferenceKey":"String","MerchantDetails":{"Name":"String","Address":"String","City":"String","State":"String","Zip":"String","Country":"String","CustomerServiceNumber":"String","MCC":"String","FNSnum":"String","Email":"String","DataElements":{"RefundSettlementTypeDetails":0,"SendRecurringPOSEntryModeFeature":false,"UseOrgPOSCode":false}},"Custom1":"String","Custom2":"String","Custom3":"String","Custom4":"String","Custom5":"String","SignatureHash":"String","AVS":{"Address":"String","City":"String","State":"String","Zip":"String","Country":"String","Email":"String","IPAddress":"String","TelephoneNumber":"String","TelephoneType":"D","DeliveryMethod":0,"FirstName":"String","MiddleName":"String","LastName":"String"},"ExtendedData":{"CashbackAmount":0,"ConnectPaySubScriberId":"String","OrganizationId":"String","DeviceFingerPrint":"String","MerchantSessionId":"String","CurrencyCode":"String","PaymentType":"String","VerifyCustomer":false,"CustomerExternalId":"String","Description":"String","CustomerName":"String","AddressLine1":"String","AddressLine2":"String","City":"String","State":"String","Zip":"String","Country":"String","Email":"String","TelephoneNumber":"String","ReturnUrl":"String","CancelUrl":"String","EstablishData":"String","RedirectUrl":"String","RetryAttemptCount":0,"SignatureHashVersion":"String","DeadlineHashDate":"\/Date(-62135596800000-0000)\/"}}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"TranId":"String","ApprovalCode":"String","ResponseCode":"String","Network":"String","ErrorMessage":"String","ErrorCode":"String","LocalDateTime":"String","Token":"String","ExtendedData":{"CardAccountUpdater":{"CardDataType":"CardNumber","CardNumberInfo":"String","ExpiryDate":"String","Status":"String","ErrorCode":"String","CardToken":"String"},"ProductId":"String","NetworkResponseCode":"String","NetworkTransactionId":"String","CHEmailAddrResult":"String"},"Timestamps":{"AppLayer":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"ParentLookup":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"RetryLookup":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"GetCardData":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"CardTokenize":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"CardEncrypt":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"DBInsert":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"BackendProcess":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"DBUpdate":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"ParentUpdate":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"},"Network":{"InTime":"\/Date(-62135596800000-0000)\/","OutTime":"\/Date(-62135596800000-0000)\/"}}}