POST | /sales/paymentprofile/import | Import a Payment Method (using ProfileToken) | After a Payment Method is created in the Vault API (www.clubreadygateway.com), the information has to be imported into the ClubReady system. The Vault API will return a ProfileToken and AcctToken. This endpoint will import a ProfileToken as a separate step. If the ProfileToken is sent to any other endpoints, those endpoints will import the ProfileToken and this endpoint is not needed. ### ProfileToken * JSON Web Token (JWT) * Length is variable, but generally around 1,000 to 4,000 characters * Contains non-PCI information about the Payment Method * Signed by the Vault API, preventing modification * Must be sent to ClubReady API within 5 minutes of creation * Can only be used once (though retrying is allowed) * You can parse and read the JWT, but the format is subject to change without notice * You cannot validate the signature in the JWT as the public key is not available ### AcctToken * A short string that is used to reference the Payment Method in the ClubReady system * Usually around 60 to 80 characters * Should not be stored for long-term use as it can change |
---|
Name | Parameter | Data Type | Required | Description |
---|---|---|---|---|
XForwardedFor | header | string | No | IP address of the end user |
ApiKey | query | string | Yes | API Authentication Key |
ProfileToken | body | string | Yes | The ProfileToken JWT to import (see description above) |
DoNotUpdatePaymentTypePreference | body | bool | No | When adding a PaymentMethod that is 'on-file' (`IsTemp == true`), the default behavior is to set this PaymentMethod as the preferred method. If you do not wish this to be the preferred method, you can set `DoNotUpdatePaymentTypePreference` to `true`. Otherwise, this can be omitted or `false`. For non 'on-file' PaymentMethods, this setting is ignored. |
NewOwnerId | body | int? | No | **Conditionally Required** When importing a ProfileToken with an OwnerType of `TempStUser`, the ownership will be changed to OwnerType of `User` with the userId of the supplied `NewOwnerId`. This is needed when a PaymentMethod is created for a User that has not been selected or created, yet. |
Name | Parameter | Data Type | Required | Description |
---|---|---|---|---|
ProfileToken | form | string | No | |
DoNotUpdatePaymentTypePreference | form | bool | No | |
NewOwnerId | form | int? | No |
Name | Parameter | Data Type | Required | Description |
---|---|---|---|---|
Success | form | bool | No | |
Message | form | string | No | |
PaymentProfile | form | PaymentProfile | No |
Name | Parameter | Data Type | Required | Description |
---|---|---|---|---|
PaymentProfileId | form | int | No | |
AcctToken | form | string | No | |
OwnerId | form | int | No | |
OwnerTypeId | form | short | No | |
AcctTypeId | form | short | No | |
AcctClassId | form | short | No | |
PrefixName | form | string | No | |
FirstName | form | string | No | |
MiddleName | form | string | No | |
LastName | form | string | No | |
SuffixName | form | string | No | |
Address1 | form | string | No | |
Address2 | form | string | No | |
Urbanization | form | string | No | |
City | form | string | No | |
State | form | string | No | |
PostalCode | form | string | No | |
CountryCode | form | string | No | |
Last4 | form | string | No | |
CcExpMonth | form | byte? | No | |
CcExpYear | form | byte? | No | |
IsTemp | form | bool | No | |
IsDisabled | form | bool | No | |
OnHoldUtc | form | DateTime? | No | |
OnHoldReasonCode | form | byte? | No | |
OnHoldReasonDetail | form | string | No | |
AcctUpdaterFlagUtc | form | DateTime? | No | |
CreatedBy | form | int | No | |
CreatedUtc | form | DateTime | No | |
ModifiedBy | form | int | No | |
ModifiedUtc | form | DateTime | No | |
AcctUpdaterFlag | form | bool | No | |
EntryModeId | form | short | No | |
ExcludeFromAcctUpdater | form | bool | No |
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
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/csv
Content-Type: text/csv
Content-Length: length
{"XForwardedFor":"String","ApiKey":"String","ProfileToken":"String","DoNotUpdatePaymentTypePreference":false,"NewOwnerId":0}
HTTP/1.1 200 OK Content-Type: text/csv 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}}