---
schema_version: "1"
id: 88fe28bc706fa8d4ccdd4f9e89993581bd0d224e5d8bfcda793ca70a1fa1da74
title: Payment
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/object_reference/sforce_api_objects_payment.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_payment.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 1a5054759db00ba7bc4884ed873657d9449c44155be81a7aeef311e4e9ed31a7
description: Represents a single event when a shopper makes a payment. For credit cards, this event is a payment capture or payment sale, but it doesn't appear on the shopper's credit card statement. This object is available in API version 48.0 and later.
---
# Payment

Represents a single event when a shopper makes a payment. For credit cards, this event is a payment capture or payment sale, but it doesn't appear on the shopper's credit card statement. This object is available in API version 48.0 and later.

## Supported Calls

create(), delete(), describeLayout(), describeSObjects(), getDeleted(), getUpdated(), query(), retrieve(), undelete(), update(), upsert()

![Note](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/images/icon_note.png)

#### Note

You can edit or delete a payment only in draft state, which you specify with the **Status** field.

## Special Access Rules

To access Salesforce Payments objects with the API, your org must have one or more of these licenses: Salesforce Payments, Salesforce Order Management, B2B Commerce, or D2C Commerce. Salesforce Payments objects are available only in Lightning Experience.

## Fields

| Field | Details |
| --- | --- |
| AccountId | 
Type

reference

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

The account of the customer who made the payment.

This field is a relationship field.

Relationship Name

Account

Relationship Type

Lookup

Refers To

Account



 |
| Amount | 

Type

currency

Properties

Create, Filter, Sort, Update

Description

The amount to be debited or captured.



 |
| Balance | 

Type

currency

Properties

Filter, Nillable, Sort

Description

The total amount – the net applied amount.



 |
| CancellationDate | 

Type

dateTime

Properties

Create, Filter, Nillable, Sort, Update

Description

The date that the payment was voided.



 |
| CancellationEffectiveDate | 

Type

dateTime

Properties

Create, Filter, Nillable, Sort, Update

Description

The date when the cancellation of this payment takes effect.



 |
| CancellationGatewayDate | 

Type

dateTime

Properties

Create, Filter, Nillable, Sort, Update

Description

The gateway provides this date following a successful cancellation request.



 |
| CancellationGatewayRefNumber | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

System-provided unique transaction ID from the payment gateway.



 |
| CancellationGatewayResultCode | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

Gateway-specific result code. Must be mapped to a Salesforce-specific result code.



 |
| CancellationSfResultCode | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

A Salesforce result code that can be mapped to one or more gateway result codes. We recommend that the payment gateway adapter layer maps gateway-specific codes to the Salesforce result code.



 |
| ClientContext | 

Type

textarea

Properties

Nillable

Description

Contains caller context for payment APIs. Useful for re-establishing context during an asynchronous payment transaction.



 |
| Comments | 

Type

textarea

Properties

Create, Filter, Nillable, Sort, Update

Description

Users can provide additional details about the payment record. Supports a maximum of 1000 characters.



 |
| CorporateCurrencyCvsnDate | 

Type

date

Properties

Filter, Group, Nillable, Sort, Update

Description

The date on which the invoiceʼs total amount with tax was converted to the corporate currency. Available in API version 63.0 and later.



 |
| CorporateCurrencyCvsnRate | 

Type

double

Properties

Filter, Nillable, Sort, Update

Description

The exchange rate thatʼs used to convert the invoiceʼs total amount with tax to the corporate currency. Available in version 63.0 and later.



 |
| CorporateCurrencyISOCode | 

Type

string

Properties

Filter, Group, Nillable, Sort, Update

Description

The currency ISO code of the corporate currency. Available in version 63.0 and later.



 |
| CurrencyIsoCode | 

Type

picklist

Properties

Create, Defaulted on create, Filter, Group, Nillable, Restricted picklist, Sort, Update

Description

Three-letter ISO 4217 currency code associated with the payment group record.



 |
| Date | 

Type

dateTime

Properties

Create, Filter, Nillable, Sort, Update

Description

The date when this payment record was created.



 |
| EffectiveDate | 

Type

dateTime

Properties

Create, Filter, Nillable, Sort, Update

Description

The date that this payment takes effect.



 |
| Email | 

Type

email

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

Email address of the user who initiated the payment.



 |
| GatewayDate | 

Type

dateTime

Properties

Create, Filter, Nillable, Sort, Update

Description

The gateway provides this date for reference following a successful gateway communication.



 |
| GatewayRefDetails | 

Type

textarea

Properties

Create, Filter, Nillable, Sort, Update

Description

Additional data that can’t be stored in other fields on the payment record. You can use this field for transactions following the initial transaction that creates the payment record. You can use any data that isn’t normalized in financial entities. This field has a maximum length of 1000 characters and can store data as JSON or XML.



 |
| GatewayRefNumber | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

Unique transaction ID created by the payment gateway.



 |
| GatewayResultCode | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

Gateway-specific result code that must map to a Salesforce-specific result code. One Salesforce result code can map to multiple gateway result codes.



 |
| GatewayResultCodeDescription | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

Description of the gateway’s result code.



 |
| ImpactAmount | 

Type

currency

Properties

Filter, Nillable, Sort

Description

Shows the payment’s financial impact against the customer’s accounts receivable. If the payment is valid, this value is the negative of the payment amount. If the payment is voided, this value is 0.



 |
| IpAddress | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

The IP address of the user who initiated the payment.



 |
| LastReferencedDate | 

Type

dateTime

Properties

Filter, Nillable, Sort

Description

The timestamp for when the current user last viewed a record related to this record.



 |
| LastViewedDate | 

Type

dateTime

Properties

Filter, Nillable, Sort

Description

The timestamp for when the current user last viewed this record. If this value is null, this record is possibly referenced (LastReferencedDate) but not viewed.



 |
| LegalEntityId | 

Type

reference

Properties

Filter, Group, Nillable, Sort, Update

Description

The legal entity used in this invoice. Available in API version 65.0 and later. This field is a relationship field.

Relationship Name

LegalEntity

Refers To

LegalEntity



 |
| MacAddress | 

Type

string

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

The MAC address of the person who initiated the payment.



 |
| NetApplied | 

Type

currency

Properties

Filter, Nillable, Sort

Description

Total payment amount that has been applied, including adjustments.



 |
| NetPaymentCreditApplied | 

Type

currency

Properties

Filter, Sort

Description

Total payment amount that has been credited. This amount is equal to TotalPaymentCreditApplied - TotalPaymentCreditUnapplied. This field is a calculated field.

This field is available in API version 65.0 and later.



 |
| NetRefundApplied | 

Type

currency

Properties

Filter, Nillable, Sort

Description

Total refund amount that has been applied to the payment, including adjustments.



 |
| OrderPaymentSummaryId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

Order payment summaries show the balances of each authorization, capture, and refund made against an order.



 |
| PaymentAuthorizationId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

The authorization record for this payment. If there's a delayed capture (when the capture occurs after the authorization), all captures must be made against a previously successful authorization transaction.

This field is a relationship field.

Relationship Name

PaymentAuthorization

Relationship Type

Lookup

Refers To

PaymentAuthorization



 |
| PaymentGatewayId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

ID of the payment gateway that processed the payment. If there’s a delayed payment, the field is populated from the authorization record.

This field is a relationship field.

Relationship Name

PaymentGateway

Relationship Type

Lookup

Refers To

PaymentGateway



 |
| PaymentGroupId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

Payment groups organize all the payment transactions that have been made against a record such as an account or contract. If there’s a delayed payment, the field is populated from the authorization record.

This field is a relationship field.

Relationship Name

PaymentGroup

Relationship Type

Lookup

Refers To

PaymentGroup



 |
| PaymentIntentGuid | 

Type

string

Properties

Create, Filter, Group, idLookup, Nillable, Sort

Description

Unique ID of the payment sent to Stripe or PayPal. Links the Payments Merchant Account record with the payment at the payment provider.



 |
| PaymentMethodId | 

Type

reference

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

The payment method that the customer used to provide this payment information.

This field is a relationship field.

Relationship Name

PaymentMethod

Relationship Type

Lookup

Refers To

PaymentMethod



 |
| PaymentNumber | 

Type

string

Properties

Autonumber, Defaulted on create, Filter, idLookup, Sort

Description

System-created unique ID for this payment record.



 |
| Phone | 

Type

phone

Properties

Create, Filter, Group, Nillable, Sort, Update

Description

Phone number of the customer who initiated the payment.



 |
| ProcessingMode | 

Type

picklist

Properties

Create, Filter, Group, Restricted picklist, Sort

Description

Defines whether the payment has been made outside of the payment platform.

Possible values are:

- External: Transactions happened outside of the Salesforce payments platform.
- Salesforce: Salesforce made and recorded an external call to the payment gateway.





 |
| SfResultCode | 

Type

picklist

Properties

Create, Filter, Group, Nillable, Restricted picklist, Sort, Update

Description

Salesforce-specific result code that can map to one or more gateway result codes. We recommend configuring the payment gateway adapter layer to map gateway result codes to the appropriate Salesforce result code.

Possible values are:

- Decline: The gateway call failed, but if the problem is fixed and the transaction is retried, it can work. For example, the customer had insufficient funds or briefly lost their connection.
- Indeterminate: The gateway didn’t respond to the call. This response usually happens when Salesforce times out while waiting for a response from the gateway.
- PermanentFail: The gateway call failed. If tried again, it still doesn't work. Gateway calls fail permanently for one of two reasons:
    - Hard Decline: The customer’s payment account has been closed or terminated.
    - Fraud: The gateway recognized the payment or payment method as known fraud.
- RequiresReview: The customer bank requires more information before completing the payment.
- Success: The gateway call succeeded.
- SystemError: Salesforce ended the payment request before receiving a response. For example, Salesforce lost credentials or access to its server. Salesforce ends payment calls if it doesn’t receive a response from the gateway within two minutes.
- ValidationError: Customer payment data was incorrect, such as a misspelling in the credit card address or an incorrect CVV.





 |
| Status | 

Type

picklist

Properties

Create, Filter, Group, Restricted picklist, Sort, Update

Description

Defines the state of this payment.

Possible values are:

- Canceled: This payment has been unapplied from its target and can no longer be allocated.
- Draft: The payment can be edited before posting it and allocating it to a target. The payment can also be deleted.
- Processed: This payment has been finalized and can be allocated against a target.

Users can manually change the Status field’s values as follows:

- Draft to Processed
- Processed to Canceled
- Draft to Canceled





 |
| TotalApplied | 

Type

currency

Properties

Filter, Nillable, Sort

Description

The total amount of this payment’s balance that has been applied against an invoice.



 |
| TotalPaymentCreditApplied | 

Type

currency

Properties

Filter, Sort

Description

The total amount of all credit types that have been applied against this payment. This field is a calculated field.

This field is available in API version 65.0 and later.



 |
| TotalPaymentCreditUnapplied | 

Type

currency

Properties

Filter, Sort

Description

The total amount of all credit types that haven't been applied against this payment. This field is a calculated field.

This field is available in API version 65.0 and later.



 |
| TotalRefundApplied | 

Type

currency

Properties

Filter, Nillable, Sort

Description

The total amount of a refund that has been applied against this payment.



 |
| TotalRefundUnapplied | 

Type

currency

Properties

Filter, Nillable, Sort

Description

The total amount of a previously applied refund that has since been unapplied from this payment.



 |
| TotalUnapplied | 

Type

currency

Properties

Filter, Nillable, Sort

Description

The total amount of this payment that was previously applied and then unapplied.



 |
| Type | 

Type

picklist

Properties

Create, Filter, Group, Restricted picklist, Sort, Update

Description

Defines how the customer used this payment.

Possible values are:

- Capture
- Sale





 |

#### See Also

- [OrderPaymentSummary](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_orderpaymentsummary.htm "Represents the current properties and state of payments using a single payment method that are applied to one OrderSummary. This object is available in API version 48.0 and later.")