ClubReady Api

<back to all web services

PaymentProfileImportEndpoint

The following routes are available for this service:
POST/sales/paymentprofile/importImport 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

HTTP + JSON

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}}