| Requires any of the roles: | Agent, Administrator, Agent, Administrator, Agent, Administrator |
| GET,OPTIONS | /v1/StripeCustomer | ||
|---|---|---|---|
| PUT,OPTIONS | /v1/StripeCustomer | ||
| POST,OPTIONS | /v1/StripeCustomer |
"use strict";
export class StripeCustomer {
/** @param {{StripeCustomerId?:number,StripeMerchantId?:number,CustomerId?:number,StripeId?:string,AgentId?:number,StripeCustomerSessionClientSecret?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
StripeCustomerId;
/** @type {number} */
StripeMerchantId;
/** @type {number} */
CustomerId;
/** @type {string} */
StripeId;
/** @type {number} */
AgentId;
/** @type {string} */
StripeCustomerSessionClientSecret;
}
export class StripeCustomerResponse {
/** @param {{ResponseStatus?:ResponseStatus,StripeCustomer?:StripeCustomer,Success?:boolean,Message?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {StripeCustomer} */
StripeCustomer;
/** @type {boolean} */
Success;
/** @type {string} */
Message;
}
export class Customer {
/** @param {{ID?:number,CustomerCode?:string,BusinessName?:string,FirstName?:string,LastName?:string,Email?:string,UID?:string,AgentId?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ID;
/** @type {string} */
CustomerCode;
/** @type {string} */
BusinessName;
/** @type {string} */
FirstName;
/** @type {string} */
LastName;
/** @type {string} */
Email;
/** @type {string} */
UID;
/** @type {number} */
AgentId;
}
export class Address {
/** @param {{ID?:number,AddressTypeID?:number,AddressContact?:string,AttentionTo?:string,AddressLine1?:string,AddressLine2?:string,AddressLine3?:string,AddressCity?:string,AddressState?:string,AddressZip?:string,AddressCountry?:string,PhoneNumber?:string,FaxNumber?:string,UID?:string,Name?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ID;
/** @type {number} */
AddressTypeID;
/** @type {string} */
AddressContact;
/** @type {string} */
AttentionTo;
/** @type {string} */
AddressLine1;
/** @type {string} */
AddressLine2;
/** @type {string} */
AddressLine3;
/** @type {string} */
AddressCity;
/** @type {string} */
AddressState;
/** @type {string} */
AddressZip;
/** @type {string} */
AddressCountry;
/** @type {string} */
PhoneNumber;
/** @type {string} */
FaxNumber;
/** @type {string} */
UID;
/** @type {string} */
Name;
}
export class StripeCustomerRequest {
/** @param {{Customer?:Customer,Address?:Address}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Customer} */
Customer;
/** @type {Address} */
Address;
}
JavaScript StripeCustomerRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/StripeCustomer HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Customer:
{
ID: 0,
CustomerCode: String,
BusinessName: String,
FirstName: String,
LastName: String,
Email: String,
UID: 00000000000000000000000000000000,
AgentId: 0
},
Address:
{
ID: 0,
AddressTypeID: 0,
AddressContact: String,
AttentionTo: String,
AddressLine1: String,
AddressLine2: String,
AddressLine3: String,
AddressCity: String,
AddressState: String,
AddressZip: String,
AddressCountry: String,
PhoneNumber: String,
FaxNumber: String,
UID: 00000000000000000000000000000000,
Name: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
StripeCustomer:
{
StripeCustomerId: 0,
StripeMerchantId: 0,
CustomerId: 0,
StripeId: String,
AgentId: 0,
StripeCustomerSessionClientSecret: String
},
Success: False,
Message: String
}