Transactions

Create Hold

Use the Create Hold endpoint to create a hold (reserve) on an amount of funds for a specified payment, or to create a hold on an account in general. This endpoint supports remote deposit capture (RDC).

To create a hold on a specific payment you must pass amount and pmtId. The default hold limit is 1 000 000. You can override this limit with the MXHLD program parameter.

To create a hold on an account, your program parameters (THOLD) must specify that an account hold is valid for the holdType parameter.

This endpoint does not create authorization holds on an account for card-association transactions — such holds are created automatically when an authorization request is approved.

post/createHold

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/createHold
  • 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>. Pattern: Maximum 60 characters Example: "9845dk-39fdk3fj3-4483483478"

accountNostring required

The <glossary:PRN> or <glossary:PAN> of the account. Pattern: PAN or PRN Example: "074103447228"

amountnumber float required

Currency amount as a whole or decimal amount. Pattern: Positive integer or decimal number Example: 100.00, 100, or 100.73

expirationDateTimestring date-time required

Date and time when the hold expires. Pattern: YYYY-MM-DD hh:mm:ss Example: "2017-01-01 13:00:00"

pmtIdinteger nullable

The ID of the payment to hold: payment_trans_id as returned by the <a href="ref:post_createpayment" target="_blank">Create Payment</a> endpoint or pmt_id as returned by the <a href="ref:post_getpaymenthistory" target="_blank">Get Payment History</a> endpoint. Pattern: Positive integer Example: 4234888

holdTypestring nullable

Transaction type for the hold. Use the values provided by SoFi Tech Solutions for your program. Pattern: 2 alphanumeric characters Example: "MO"

descriptionstring nullable

Description for the hold. Pattern: Max 80 alphanumeric characters, including punctuation Example: "One time payroll load."

externalIdstring nullable

External identifier for a hold. Pattern: Max 60 alphanumeric characters Example: "45348bacd483348"

Example request

{
  "apiLogin": "AbC123-9999",
  "apiTransKey": "4sb62fh6w4h7w34g",
  "transactionId": "123e4567-e89b-12d3-a456-426614174000",
  "accountNo": "074103447228",
  "amount": 25.5,
  "expirationDateTime": "2017-01-01 13:00:00",
  "pmtId": 4234888,
  "holdType": "MO",
  "description": "One time payroll load.",
  "externalId": "45348bacd483348"
}

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

No recorded changes to this operation across all 2 revisions of this API.