Accounts and Cards

Create Virtual Card Account

Changed on

Use the Create Virtual Card Account endpoint to create a virtual card account for a new customer. To create any other type of account for a new customer use the <a href="ref:post_createaccount" target="_blank">Create Account</a> endpoint.

Create Virtual Account is similar to Create Account except that it accepts only virtual card product IDs for prodId. Consult the <a href="doc:create-account-procedure" target="_blank">Creating an Account</a> procedure for instructions on using this endpoint, and consult the <a href="doc:customer-id-verification" target="_blank">Customer ID Verification</a> guide for how to use this endpoint with the SoFi Tech Solutions legacy CIP solution.

[block:callout]

{ "type": "info", "title": "Note", "body": "You must be PCI-compliant to use this endpoint. If you are not PCI compliant, use the <a href="ref:post_createaccount" target="_blank">Create Account</a> endpoint and specify a virtual card product for prodId." } [/block]

[block:callout]

{ "type": "info", "title": "Note", "body": "If this endpoint returns a status code that does not match a status code that is specific to this endpoint, it may be an enrollment status code. See <a href="ref:api-reference-enrollment-statuses" target="_blank">Enrollment Statuses</a> for more information." } [/block]

post/createVirtualCard

Request

  • Base URL
    api-{corename}.{env}.gpsrv.com/intserv/4.0/ (relative, and the document’s source URL is not known)
  • URL
    api-{corename}.{env}.gpsrv.com/intserv/4.0/createVirtualCard
  • Auth
    none declared

Request body application/x-www-form-urlencoded

apiLoginstring required

Web service username, as provided by SoFi Tech Solutions. Pattern: Max 50 characters Example: "AbC123-9999"

apiTransKeystring required

Web service password, as provided by SoFi Tech Solutions. Pattern: Max 15 characters Example: "4sb62fh6w4h7w34g"

transactionIdstring required

Supply a globally unique ID to identify this endpoint request ("transaction"). Might be used for <a href="ref:idempotency#endpoints-that-use-transactionid-for-idempotency" target="_blank">idempotency</a>.. A UUID is preferred. Pattern: Maximum 60 characters Example: "9845dk-39fdk3fj3-4483483478"

prodIdinteger required

A unique product identifier from SoFi Tech Solutions. If this ID is for a business product then businessName is required. Pattern: Integer Example: 501

idstring nullable

The value of the primary identifier that is specified in idType. Product settings determine whether this ID should be unique across the program or product. This parameter is required when using the SoFi Tech Solutions legacy <glossary:CIP> solution. The system converts all letters to lowercase. Pattern: As specified in the Layout column of the <a href="ref:api-reference-customer-id-types" target="_blank">Customer ID Types</a> enumeration Example: "123456789"

idTypeinteger nullable

Specifies the type of primary identifier in the id parameter. This parameter is required when id is populated. See the ID column in the <a href="ref:api-reference-customer-id-types" target="_blank">Customer ID Types</a> table for valid values. Pattern: Integer Example: 2

id2string nullable

The value of the secondary identifier that is specified in idType2. The system converts all letters to lowercase. Pattern: As specified in the Layout column of the <a href="ref:api-reference-customer-id-types" target="_blank">Customer ID Types</a> enumeration Example: "123456789012|ut|12/25/2020"

idType2integer nullable

Specifies the type of secondary identifier in the id2 parameter. This parameter is required when id2 is populated. See the ID column in the <a href="ref:api-reference-customer-id-types" target="_blank">Customer ID Types</a> table for valid values. Pattern: Integer Example: 1

locale'en_US' | 'es_US' | 'en_CA' | 'fr_CA' | 'es_MX' | 'en_MX' nullable

The account holder language and localization preference. If the account holder address is outside the U.S., pass a non _US value for this parameter to disable U.S. address validation. Pattern: String Example: "en_US"

firstNamestring nullable

Account holder's first name. <a href="ref:api-reference-special-characters" target="_blank">Special character support</a>. Pattern: 1–40 characters: letters (A-Z, a-z), spaces, hyphens (-) and single quotes (') Example: "Ed"

middleNamestring nullable

Account holder's middle name. <a href="ref:api-reference-special-characters" target="_blank">Special character support</a>. Pattern: 1–40 characters: letters (A-Z, a-z), spaces, hyphens (-) and single quotes (') Example: "W"

lastNamestring nullable

Account holder's last name. <a href="ref:api-reference-special-characters" target="_blank">Special character support</a>. Pattern: 1–40 characters: letters (A-Z, a-z), spaces, hyphens (-) and single quotes (') Example: "Harley"

dateOfBirthstring date-time nullable

Account holder's birth date. This date is compared with the DOB product parameter when there is a minimum age requirement on the account. Pattern: YYYY-MM-DD Example: "1980-01-01"

address1string nullable

Account holder's first address line. Cannot be a P.O. box. <a href="ref:api-reference-address1-validation" target="_blank">Validation rules for address1</a>. Pattern: 4–40 alphanumeric characters Example: "33 Maple Street"

address2string nullable

Account holder's second address line. Pattern: Max 40 alphanumeric characters and <a href="ref:api-reference-special-characters#address-symbols" target="_blank">address symbols</a> Example: "#4B"

address3string nullable

Account holder's third address line. Pattern: Max 30 alphanumeric characters and <a href="ref:api-reference-special-characters#address-symbols" target="_blank">address symbols</a> Example: "Carrera Central"

address4string nullable

Account holder's fourth address line. Pattern: Max 30 alphanumeric characters and <a href="ref:api-reference-special-characters#address-symbols" target="_blank">address symbols</a> Example: "Barrio El Alhambra"

address5string nullable

Account holder's fifth address line. Pattern: Max 30 alphanumeric characters and <a href="ref:api-reference-special-characters#address-symbols" target="_blank">address symbols</a> Example: "Piso 3"

citystring nullable

Account holder's city. Pattern: Max 30 characters: letters, spaces, hyphen and period Example: "Salt Lake City"

statestring nullable

Account holder's state or province. Pattern: String Example: "UT"

postalCodestring nullable

Account holder's postal code (ZIP code). Pattern: 12345, 12345-1234, or K1A-1A1 Example: "84121"

countryCodestring nullable

Account holder's country. Three-digit UN M49 code, such as 840 for USA, 124 for Canada, 484 for Mexico, 170 for Colombia. Pattern: 3-digit number Example: "840"

primaryPhonestring nullable

Account holder's primary phone number. Pattern: Validation according to the value in mobilePhoneCountryCode. Example: "8013656060"

otherPhonestring nullable

Account holder's secondary phone number. Pattern: Validation according to the value in mobilePhoneCountryCode. Example: "8013656060"

mobilePhonestring nullable

Account holder's mobile phone number. Pattern: Validation according to the value in mobilePhoneCountryCode. Example: "8013656060"

mobileCarrierIdstring nullable

Account holder's mobile carrier. Configurable list. Pattern: Configurable list Example: "8"

emailstring email nullable

Account holder's email Pattern: Email address, 3–63 characters Example: "user@fakedomain.com"

webUidstring nullable

Account holder's username for the website hosted by SoFi Tech Solutions. Must be unique across the program. Pattern: Alphanumeric, with first character a letter; case insensitive Example: "eharley"

webPwdstring nullable

Account holder's password for the website hosted by SoFi Tech Solutions. Pattern: Min 8 characters: must include upper-case character, lower-case character, and a number Example: "4j9KH3kkdh"

secretQuestionstring nullable

Account holder's secret question for the website hosted by SoFi Tech Solutions. Pattern: Max 50 characters: letters, spaces, ? Example: "What was the name of your first pet?"

secretAnswerstring nullable

Account holder's answer to secretQuestion. Pattern: Max 50 characters: letters, spaces, ? Example: "Larry"

loadAmountnumber float nullable

Currency amount passed as a whole or decimal amount. Initial load amount on a card must be within product load limits or be the designated amount for an instant-issue card. Pattern: Positive integer or decimal number Example: 100.00, 100 or 100.73

loadTypestring nullable

Transaction type for the loadAmount. Use values from your list of load types from SoFi Tech Solutions. If no loadType is specified, the default type RL is used. Pattern: 2 characters Example: "RL"

externalAccountIdstring nullable

Identifier supplied by the provider, which is not related to the system. This ID is stored in the system in association with this account and can be provided in the <glossary:RDF>s. Pattern: Max 30 alphanumeric characters. Lowercase only. Example: "553b45sbs"

primaryAccountstring nullable

<glossary:PAN> or <glossary:PRN> of the primary account to associate this account with. Populate this parameter only when creating a secondary account. Pattern: PAN or PRN Example: "123456789012"

sharedBalance0 | 1 nullable

Specifies whether the secondary account will share the balance of the primary account. This parameter is required when primaryAccount is populated. Do not set this parameter to 1 when primaryAccount is not populated.

  • 0 — Do not share the balance
  • 1 — Share the balance

Pattern: Integers Example: 1

userDatastring nullable

Data supplied by the provider, from sources external to the system. This data will be stored in the system in association with this account. The most common use of this parameter is to track affiliate-marketing traffic. The data in this field can be added to an <glossary:RDF>. Pattern: Max 50 alphanumeric characters and spaces Example: "a4434gg44"

verifyOnly0 | 1 nullable

Pass 1 to test the validity of the parameter data without committing the information to the system. Pattern: Integer Example: 1

loadFromAccountNostring nullable

To load funds into the account at the time of account creation, specify the <glossary:PAN> or <glossary:PRN> of the source account for the funds. This account must be in the same program as the account being created. Pattern: PAN or PRN Example: "074103447228"

sweepDatestring date-time nullable

The last date that a daily sweep should be performed. This parameter is valid only if account sweeping is configured for the product. Pattern: YYYY-MM-DD Example: "2016-01-01"

creditLimitnumber nullable

Credit limit for card based spending control (currently only available for credit processing). Pattern: Monetary amount greater than 0. Example: 500.25

singleUse'Y' | 'N' nullable

Spending control parameter that flags card for one purchasing transaction (currently only available for credit processing). Pattern: String Example: "Y"

businessNamestring nullable

Account holder's business name. This field is required if prodId is a business product. Pattern: 2-150 characters. See the <a href="ref:api-reference-special-characters#businessname-parameter" target="_blank">supported character set</a>. Example: "Ed%26Ted"

mobilePhoneCountryCodestring nullable

Account holder's mobile phone country code. Pattern: A plus sign followed by 1–3 digits. See <a href="ref:api-reference-phone-validation" target="_blank">Phone Validation</a> for valid values. Example: "+1"

Example request

{
  "apiLogin": "AbC123-9999",
  "apiTransKey": "4sb62fh6w4h7w34g",
  "transactionId": "123e4567-e89b-12d3-a456-426614174000",
  "prodId": 501,
  "id": "123456789",
  "idType": 2,
  "id2": "123456789012|ut|12/25/2020",
  "idType2": 1,
  "locale": "en_US",
  "firstName": "Ed",
  "middleName": "W",
  "lastName": "Harley",
  "dateOfBirth": "1980-01-01",
  "address1": "33 Maple Street",
  "address2": "#4B",
  "address3": "Carrera Central",
  "address4": "Barrio El Alhambra",
  "address5": "Piso 3",
  "city": "Salt Lake City",
  "state": "UT",
  "postalCode": "84121",
  "countryCode": "840",
  "primaryPhone": "8013656060",
  "otherPhone": "8013656060",
  "mobilePhone": "8013656060",
  "mobileCarrierId": "8",
  "email": "user@fakedomain.com",
  "webUid": "eharley",
  "webPwd": "4j9KH3kkdh",
  "secretQuestion": "What was the name of your first pet?",
  "secretAnswer": "Larry",
  "loadAmount": 25.5,
  "loadType": "RL",
  "externalAccountId": "553b45sbs",
  "primaryAccount": "074103447228",
  "sharedBalance": 1,
  "userData": "a4434gg44",
  "verifyOnly": 1,
  "loadFromAccountNo": "074103447228",
  "sweepDate": "2016-01-01",
  "creditLimit": 500.25,
  "singleUse": "Y",
  "businessName": "Ed",
  "mobilePhoneCountryCode": "+1"
}

Response

status_codeinteger nullable required

The response status code. May return a string for some statuses.

statusstring nullable required

The condition of a process or response

processing_timenumber float nullable required

The time elapsed in processing the transaction

system_timestampstring date-time nullable required

A system generated timestamp

rtokenstring nullable required

A system-generated ID used for tracking

errorsstring[]

A list of errors generated while the request was processed

Changes