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

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
        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 .jsv suffix or ?format=jsv

HTTP + JSV

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: www.clubready.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ApiKey: String,
	AcctToken: String,
	ProfileToken: String,
	DoNotUpdatePaymentTypePreference: False,
	NewOwnerId: 0,
	NewOwner: "(0, Unknown)"
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Success: False,
	Message: String
}