POST | /sales/paymentprofile/import | Import a Payment Profile (using ProfileToken) | After a Payment Profile is created in the ClubReadyGateway API (aka Vault API), the information has to be imported into the ClubReady system. The AcctToken and ProfileToken are created by the ClubReadyGateway API. |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports ClubReady.Web.Api.Sales
Imports ClubReady.Payments
Imports ClubReady.Payments.PaymentsDb
Namespace Global
Namespace ClubReady.Payments
Public Partial Class PaymentProfileImportRequest
Public Overridable Property AcctToken As String
Public Overridable Property ProfileToken As String
Public Overridable Property DoNotUpdatePaymentTypePreference As Boolean
Public Overridable Property NewOwner As Nullable(Of ValueTuple(Of Int32,OwnerType))
End Class
Public Partial Class PaymentProfileImportResponse
Public Overridable Property Success As Boolean
Public Overridable Property Message As String
Public Overridable Property PaymentProfile As PaymentProfile
End Class
End Namespace
Namespace ClubReady.Payments.PaymentsDb
Public Partial Class PaymentProfile
Public Overridable Property PaymentProfileId As Integer
Public Overridable Property AcctToken As String
Public Overridable Property OwnerId As Integer
Public Overridable Property OwnerTypeId As Short
Public Overridable Property AcctTypeId As Short
Public Overridable Property AcctClassId As Short
Public Overridable Property PrefixName As String
Public Overridable Property FirstName As String
Public Overridable Property MiddleName As String
Public Overridable Property LastName As String
Public Overridable Property SuffixName As String
Public Overridable Property Address1 As String
Public Overridable Property Address2 As String
Public Overridable Property Urbanization As String
Public Overridable Property City As String
Public Overridable Property State As String
Public Overridable Property PostalCode As String
Public Overridable Property CountryCode As String
Public Overridable Property Last4 As String
Public Overridable Property CcExpMonth As Nullable(Of Byte)
Public Overridable Property CcExpYear As Nullable(Of Byte)
Public Overridable Property IsTemp As Boolean
Public Overridable Property IsDisabled As Boolean
Public Overridable Property OnHoldUtc As Nullable(Of Date)
Public Overridable Property OnHoldReasonCode As Nullable(Of Byte)
Public Overridable Property OnHoldReasonDetail As String
Public Overridable Property AcctUpdaterFlagUtc As Nullable(Of Date)
Public Overridable Property CreatedBy As Integer
Public Overridable Property CreatedUtc As Date
Public Overridable Property ModifiedBy As Integer
Public Overridable Property ModifiedUtc As Date
Public Overridable Property AcctUpdaterFlag As Boolean
Public Overridable Property EntryModeId As Short
Public Overridable Property ExcludeFromAcctUpdater As Boolean
End Class
End Namespace
Namespace ClubReady.Web.Api.Sales
<ApiResponse(Description:="", ResponseType:=GetType(PaymentProfileImportResponse), StatusCode:=200)>
Public Partial Class PaymentProfileImportEndpoint
Inherits PaymentProfileImportRequest
Implements IApiKeyEndpoint
'''<Summary>
'''Api Authentication Key
'''</Summary>
<ApiMember(Description:="Api Authentication Key", IsRequired:=true, ParameterType:="query")>
Public Overridable Property ApiKey As String
'''<Summary>
'''Encoded data uniquely identifying the payment profile. Long term storage of AcctToken is not recommended, as the token may change over time (for example, by processes like Account Updater). The length is usually 80 characters.
'''</Summary>
<ApiMember(Description:="
Encoded data uniquely identifying the payment profile.
Long term storage of AcctToken is not recommended, as the token may change over time (for example, by processes like Account Updater).
The length is usually 80 characters.", IsRequired:=true)>
Public Overridable Property AcctToken As String
'''<Summary>
'''Encoded data containing non-PCI information about the Payment Profile. ProfileTokens contain a timestamp. If the ClubReady API does not process the token within 5 minutes,it cannot be accepted and a new profile will have to be created with a new AcctToken. The timevalidation is to prevent old tokens from be re-played at a later time. The length is variable, but generally around 1,000 characters.
'''</Summary>
<ApiMember(Description:="
Encoded data containing non-PCI information about the Payment Profile.
ProfileTokens contain a timestamp. If the ClubReady API does not process the token within 5 minutes,
it cannot be accepted and a new profile will have to be created with a new AcctToken. The time
validation is to prevent old tokens from be re-played at a later time.
The length is variable, but generally around 1,000 characters.", IsRequired:=true)>
Public Overridable Property ProfileToken As String
'''<Summary>
'''When adding a Payment Profile that is 'on-file', the default behavior is to update the user's Payment TypePreference to the AcctClass of the new profile. If you wish to not update the preference, you can set`DoNotUpdatePaymentTypePreference` to `true`. Otherwise, this can be omitted or `false`. For `IsTemp == true` profiles, `DoNotUpdatePaymentTypePreference` is ignored.
'''</Summary>
<ApiMember(Description:="
When adding a Payment Profile that is 'on-file', the default behavior is to update the user's Payment Type
Preference to the AcctClass of the new profile. If you wish to not update the preference, you can set
`DoNotUpdatePaymentTypePreference` to `true`. Otherwise, this can be omitted or `false`.
For `IsTemp == true` profiles, `DoNotUpdatePaymentTypePreference` is ignored.")>
Public Overridable Property DoNotUpdatePaymentTypePreference As Boolean
'''<Summary>
'''**Conditionally Required** When adding a Payment Profile that has an OwnerType of `TempStUser`, the ownership will be changed to OwnerType of `User`with the `UserId` of the supplied `NewOwnerId`.
'''</Summary>
<ApiMember(Description:="
**Conditionally Required**
When adding a Payment Profile that has an OwnerType of `TempStUser`, the ownership will be changed to OwnerType of `User`
with the `UserId` of the supplied `NewOwnerId`.")>
Public Overridable Property NewOwnerId As Nullable(Of Integer)
End Class
End Namespace
End Namespace
VB.NET PaymentProfileImportEndpoint DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /sales/paymentprofile/import HTTP/1.1
Host: clubready.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"ApiKey":"String","AcctToken":"String","ProfileToken":"String","DoNotUpdatePaymentTypePreference":false,"NewOwnerId":0,"NewOwner":"(0, Unknown)"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"Success":false,"Message":"String","PaymentProfile":{"PaymentProfileId":0,"AcctToken":"String","OwnerId":0,"OwnerTypeId":0,"AcctTypeId":0,"AcctClassId":0,"PrefixName":"String","FirstName":"String","MiddleName":"String","LastName":"String","SuffixName":"String","Address1":"String","Address2":"String","Urbanization":"String","City":"String","State":"String","PostalCode":"String","CountryCode":"String","Last4":"String","CcExpMonth":0,"CcExpYear":0,"IsTemp":false,"IsDisabled":false,"OnHoldUtc":"0001-01-01T00:00:00.0000000","OnHoldReasonCode":0,"OnHoldReasonDetail":"String","AcctUpdaterFlagUtc":"0001-01-01T00:00:00.0000000","CreatedBy":0,"CreatedUtc":"0001-01-01T00:00:00.0000000","ModifiedBy":0,"ModifiedUtc":"0001-01-01T00:00:00.0000000","AcctUpdaterFlag":false,"EntryModeId":0,"ExcludeFromAcctUpdater":false}}