Trendsic Platform Service

<back to all web services

CustomerPaymentsRequest

Requires Authentication
Requires any of the roles:Agent, Administrator, Agent, Administrator, Agent, Administrator
The following routes are available for this service:
GET/v1/CustomerPayments/{OrderID}
POST,PUT,OPTIONS/v1/CustomerPayments
namespace CRM.AgencyPlatform.API.Internal

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type CustomerPayment() = 
        member val ID:Int32 = new Int32() with get,set
        member val CustomerID:Int32 = new Int32() with get,set
        member val OrderHeaderID:Int32 = new Int32() with get,set
        member val Amount:String = null with get,set
        member val Approved:Boolean = new Boolean() with get,set
        member val AuthCode:String = null with get,set
        member val CardNumber:String = null with get,set
        member val Message:String = null with get,set
        member val ResponseCode:Int32 = new Int32() with get,set
        member val TransactionId:String = null with get,set
        member val TransactionDate:DateTime = new DateTime() with get,set
        member val FullResponse:String = null with get,set
        member val PaymentStatus:Int32 = new Int32() with get,set
        member val PaymentType:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CustomerPaymentsResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set
        member val PaymentIntentSuccess:Boolean = new Boolean() with get,set
        member val PaymentSuccess:Boolean = new Boolean() with get,set
        member val SubscriptionSuccess:Boolean = new Boolean() with get,set
        member val Message:String = null with get,set
        member val ReceiptUrl:String = null with get,set
        member val AgentNumber:String = null with get,set
        member val ClientSecret:String = null with get,set
        member val CustomerPayment:CustomerPayment = null with get,set
        member val PublicOrderID:String = null with get,set

    [<AllowNullLiteral>]
    type Customer() = 
        member val ID:Int32 = new Int32() with get,set
        member val CustomerCode:String = null with get,set
        member val BusinessName:String = null with get,set
        member val FirstName:String = null with get,set
        member val LastName:String = null with get,set
        member val Email:String = null with get,set
        member val UID:Guid = new Guid() with get,set
        member val AgentId:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type PaymentInfo() = 
        member val PaymentType:String = null with get,set
        member val CardNumber:String = null with get,set
        member val ExpDate:String = null with get,set
        member val CCV:String = null with get,set
        member val StripeToken:String = null with get,set
        member val AgentId:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CustomerPaymentsRequest() = 
        member val Customer:Customer = null with get,set
        member val OrderID:Guid = new Guid() with get,set
        member val PaymentInfo:PaymentInfo = null with get,set

F# CustomerPaymentsRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/CustomerPayments HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"Customer":{"ID":0,"CustomerCode":"String","BusinessName":"String","FirstName":"String","LastName":"String","Email":"String","UID":"00000000000000000000000000000000","AgentId":0},"OrderID":"00000000000000000000000000000000","PaymentInfo":{"PaymentType":"String","CardNumber":"String","ExpDate":"String","CCV":"String","StripeToken":"String","AgentId":0}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"PaymentIntentSuccess":false,"PaymentSuccess":false,"SubscriptionSuccess":false,"Message":"String","ReceiptUrl":"String","AgentNumber":"String","ClientSecret":"String","CustomerPayment":{"ID":0,"CustomerID":0,"OrderHeaderID":0,"Amount":"String","Approved":false,"AuthCode":"String","CardNumber":"String","Message":"String","ResponseCode":0,"TransactionId":"String","TransactionDate":"0001-01-01T00:00:00.0000000","FullResponse":"String","PaymentStatus":0,"PaymentType":0},"PublicOrderID":"String"}