Skip to content

Currency Exchange(2)

?This API is currently not supported by our SDK

The exchange currency API to convert one currency to another one.

operation/quote_exchange_rates Create Exchange Rate Quote

post/v2/pricing/quote-exchange-rates

Try it

Purpose:

The PayPal Exchange Rate Quote API enables businesses to dynamically display prices in multiple currencies by generating exchange rate quotes for currency pair.

Key Features:

FX Rate Guarantee: Guarantees exchange rates for a specified duration, ensuring stability and consistency in currency presentment scenarios.

Customizable Pricing: Provides flexible exchange rate options tailored to business needs, allowing customization through negotiated rates and dynamic pricing models to align with business requirements.

Provides functionality to source wholesale market rates with the addition of a percentage-based currency conversion fee. This enables the delivery of retail exchange rates without offering a rate guarantee.

FX Rate Revenue Markup: Offers merchants the flexibility to apply customized markups on exchange rates, allowing them to generate additional revenue from currency conversions. Enables businesses to define their own pricing strategies by setting adjustable markups based on transaction volume, customer segments, or market conditions, ensuring greater control over foreign exchange earnings while maintaining competitive pricing for end users.

Quote API Usage:

Need a Guaranteed Rate for a Certain Timeframe: Businesses want to lock in an exchange rate for a defined period to protect against market fluctuations and reduce the risk of FX volatility.

Offer Customers Stable, Upfront Pricing for a Limited Time: Displaying FX rates but ensuring the rate remains fixed for a short duration, allowing customers to complete their purchase without unexpected price changes.

Integrate with PayPal as Payment Processor for Real-Time Quoting Scenarios: Leveraging PayPal’s payment processing capabilities, ensuring seamless multi-currency support.

Sample Use cases: Multi-Currency Presentment, Real-Time Checkout Quotes, Subscription Pricing with Guaranteed Rate, Buy-Now-Price Guarantee for Cross-Border Seller.

SecurityOauth2

Request

Request Body schema: application/jsonmultipart/relatedmultipart/form-datamultipart/mixedapplication/json
organizationstring[ 2 .. 100 ] characters^\w{2,20}(\/\w{2,20})*$
Organization this managed account belongs to, in the partner's hierarchy, in the form of a path.
quote_items
required
Array of objects (Request object for exchange rate quote.) [ 1 .. 250 ] items
Parameters required to request an exchange rate, passed in the quote_items array:
- base_currency
- base_amount
- quote_currency
- markup_percent
- fx_id.

Responses

200 A successful request returns the HTTP 200 OK status code and a JSON response body that shows quote exchange rate details.

400 Request is not well-formed, syntactically incorrect, or violates schema.

403 The authorization failed due to insufficient permissions.

500 An internal server error has occurred.

Request samples

  • Payload
  • cURL
  • Node.js
  • Java
  • Python

application/jsonmultipart/relatedmultipart/form-datamultipart/mixedapplication/json

Sample 1 - 200 - Exchange Rate QuoteSample 2 - 200 - Exchange Rate QuoteSample 3 - 200 - Exchange Rate QuoteSample 4 - 200 - Exchange Rate QuoteSample 5 - 200 - Exchange Rate QuoteSample 6 - 200 - Exchange Rate QuoteSample 7 - 400 - invalid currency amountSample 8 - 403 - Exchange Currency for currency code.Sample 9 - 500 - Exchange Currency for currency code.Sample 1 - 200 - Exchange Rate Quote

Copy

Expand allCollapse all

`{"quote_items": [{"base_currency": "USD",

"base_amount": "16.80",

"quote_currency": "GBP",

"markup_percent": "1"

}

]

}`

Response samples

  • 200
  • 400
  • 403
  • 500

application/json

Sample 1 - 200 - Exchange Rate QuoteSample 2 - 200 - Exchange Rate QuoteSample 3 - 200 - Exchange Rate QuoteSample 4 - 200 - Exchange Rate QuoteSample 5 - 200 - Exchange Rate QuoteSample 6 - 200 - Exchange Rate QuoteSample 1 - 200 - Exchange Rate Quote

Copy

Expand allCollapse all

`{"exchange_rate_quotes": [{"base_amount": {"currency_code": "USD",

"value": "16.80"

},

"quote_amount": {"currency_code": "GBP",

"value": "13.80"

},

"exchange_rate": "0.80956391984",

"expiry_time": "2022-03-10T21:30:00Z",

"rate_refresh_time": "2022-03-10T18:30:00Z",

"fx_id": "MTFFQy05RjkzLTQ4ODkwMjE5LUEzRTAtREQ4OTc1NEQ1NUUw"

}

]

}`

tag/Definitions Definitions

schema/postal_address Address

A postal address at which the user can be contacted.

address_line_1string<= 300 characters
The first line of the address. For example, number or street. For example, 173 Drury Lane. Required for data entry and compliance and risk checks. Must contain the full address.
address_line_2string<= 300 characters
The second line of the address. For example, suite or apartment number.
address_line_3string<= 100 characters
The third line of the address, if needed. For example, a street complement for Brazil, direction text, such as next to Walmart, or a landmark in an Indian address.
admin_area_4string<= 100 characters
The neighborhood, ward, or district. Smaller than admin_area_level_3 or sub_locality. Value is:
- The postal sorting code for Guernsey and many French territories, such as French Guiana.
- The fine-grained administrative levels in China.
admin_area_3string<= 100 characters
A sub-locality, suburb, neighborhood, or district. Smaller than admin_area_level_2. Value is:
- Brazil. Suburb, bairro, or neighborhood.
- India. Sub-locality or district. Street name information is not always available but a sub-locality or district can be a very small area.
admin_area_2string<= 120 characters
A city, town, or village. Smaller than admin_area_level_1.
admin_area_1string<= 300 characters
The highest level sub-division in a country, which is usually a province, state, or ISO-3166-2 subdivision. Format for postal delivery. For example, CA and not California. Value, by country, is:
- UK. A county.
- US. A state.
- Canada. A province.
- Japan. A prefecture.
- Switzerland. A kanton.
postal_codestring<= 60 characters
The postal code, which is the zip code or equivalent. Typically required for countries with a postal code or an equivalent. See postal code.
country_code
required
string<ppaas_common_country_code_v2> (country_code) = 2 characters^([A-Z]{2}|C2)$
The two-character ISO 3166-1 code that identifies the country or region.
> Note: The country code for Great Britain is GB and not UK as used in the top-level domain names for that country. Use the C2 country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
address_detailsobject (Address Details)
The non-portable additional address details that are sometimes needed for compliance, risk, or other scenarios where fine-grain address information might be needed. Not portable with common third party and open source. Redundant with core fields.
For example, address_portable.address_line_1 is usually a combination of address_details.street_number, street_name, and street_type.
idstring[ 1 .. 20 ] characters
Unique identifier for this address for this user.
addressee_namestring[ 1 .. 300 ] characters
The name that should go on the mailing label with the address. For use in specifying a recipient that is not the user, required on shipping addresses.
address_confirmation_statusstring
The confirmation status of the postal address.

Copy

Expand allCollapse all

`{"address_line_1": "string",

"address_line_2": "string",

"address_line_3": "string",

"admin_area_4": "string",

"admin_area_3": "string",

"admin_area_2": "string",

"admin_area_1": "string",

"postal_code": "string",

"country_code": "st",

"address_details": {"street_number": "string",

"street_name": "string",

"street_type": "string",

"delivery_service": "string",

"building_name": "string",

"sub_building": "string"

},

"id": "string",

"addressee_name": "string",

"address_confirmation_status": "string"

}`

schema/balance_account_type Balance account type

The specific type of the balance account.

string (Balance account type) [ 1 .. 255 ] characters^[0-9A-Z_]+$

The specific type of the balance account.

Enum ValueDescription
STANDARD_BALANCE_ACCOUNTStandard balance account.
STANDARD_GOAL_ACCOUNTStandard goal account.
STANDARD_SAVINGS_ACCOUNTStandard savings account.
STANDARD_POOL_ACCOUNTStandard pool account.

Copy

"STANDARD_BALANCE_ACCOUNT"

schema/business_contact_information Business Contact Information

This is the placeholder to represent all the business related contact information. There could be several types of business contacts. for eg: location, shipping, billing. Billing and Shipping can be same as primary location as well, in those cases there is no need to define shipping and billing separately.

| contact_type | string[ 1 .. 50 ] characters^[0-9A-Z_]+$

The type of contact information of merchant.

Enum ValueDescription
SHIPPING_LOCATIONThe contact type shipping is the address that the merchant use to ship the goods or receive the good.
BILLING_LOCATIONThe contact type billing is the address that will be used by PayPal Inc. parties to send the billing documents for the services that PayPal provided to this merchant.
addressobject (Address)
Business address of type of contact_type.
email_addressstring<ppaas_common_email_address_v2> (email_address) [ 3 .. 254 ] characters^.+@[^"\-].+$
The email provided by the party for the payment.
phoneobject (Phone info)
The merchant-provided phone associated to contact_type.

Copy

Expand allCollapse all

`{"contact_type": "SHIPPING_LOCATION",

"address": {"address_line_1": "string",

"address_line_2": "string",

"address_line_3": "string",

"admin_area_4": "string",

"admin_area_3": "string",

"admin_area_2": "string",

"admin_area_1": "string",

"postal_code": "string",

"country_code": "st",

"address_details": {"street_number": "string",

"street_name": "string",

"street_type": "string",

"delivery_service": "string",

"building_name": "string",

"sub_building": "string"

},

"id": "string",

"addressee_name": "string",

"address_confirmation_status": "string"

},

"email_address": "string",

"phone": {"phone_type": "FAX",

"phone_number": {"country_code": "str",

"national_number": "string",

"extension_number": "string"

}

}

}`

schema/capability Capability

The financial instrument (FI) capabilities.

| name | string[ 1 .. 255 ] characters^[0-9A-Z_]+$

Capability name.

Enum ValueDescription
INSTALLMENTIndicates if instrument is installment capable.
PINLESS_DEBITCapability indicates if instrument is Pinless Debit capable.
CAPTURECapability indicates if instrument is Capture capable.
TOKENCapability indicates if instrument is TOKEN capable.
DEBITCapability indicates if instrument is DEBIT capable.
CREDITCapability indicates if instrument is CREDIT capable.
FAST_FUND_CROSSBORDERCapability indicates instrument is fast fund capable for cross border transactions.
FAST_FUND_DOMESTICCapability indicates instrument is fast fund capable for domestic transactions.
CURRENCY_CHANGEABLECapability indicates instrument is eligible for Currency Change.
AUTO_DEBIT_CARDCapability indicates instrument is debit card provisioning capable.
NO_VERIFICATIONCapability indicates instrument is no verification.
DESCRIPTORCapability indicates instrument supports 'descriptor' related capability. Descriptor aka Soft Descriptor is the wording which appears in the financial instrument's statement/account history during an activity with financial instrument.
ADDRESS_VERIFICATIONCapability indicates instrument supports address verification.
ADD_FUNDSCapability indicates instrument supports add funds.
AUTHCapability indicates instrument is auth functionality capable.
CHECK_DIGIT_VERIFICATIONCapability indicates instrument is check digit verification capable.
CONFIRM_INSTRUMENT_DETAILSCapability indicates instrument is confirm instrument details capable.
GET_INSTRUMENT_DETAILSCapability indicates instrument is get instrument details capable.
REFUNDCapability indicates instrument is refund capable.
WIRE_WITHDRAWALCapability indicates instrument is wire withdrawal capable.
WITHDRAWALCapability indicates instrument is withdrawal capable.
EKYCCapability indicates instrument supports eKYC authentication process.
EXTERNAL_LOGINCapability indicates instrument is enternal login capable.
REAL_TIME_BALANCECapability indicates instrument supports Real Time Balance (RTB or Open Banking) checks for bank instrument.
CANCEL_NOT_SUPPORTED_ON_REFUNDCapability indicates instrument cancel on refund is not supported.
CAPTURE_NON_REAL_TIMECapability indicates instrument is non real time capture operation capable.
CAPTURE_REAL_TIMECapability indicates instrument is real time capture operation capable.
CHARGECapability indicates instrument is charge capable.
EXCESSIVE_CAPTURECapability indicates instrument is excessive capture operation capable.
INITIAL_BALANCE_INQUIRYCapability indicates instrument is initial balance inquiry operation capable.
INSTANT_VERIFICATION_CHECKCapability indicates the operation is an instant or immediate verification of a consumers bank account balance and consumer contact information.
INSTORE_REDEMPTIONCapability indicates the operation is an in-store redemption.
NEED_SETTLEMENTCapability indicates the operation needs a settlement.
NO_SETTLEMENTCapability indicates the operation doesn't need a settlement.
ONE_DIMENSIONAL_CA128Capability indicates the operation supports one-dimensional (1D or linear) barcode CA128 scanning.
ONE_DIMENSIONAL_PDF417Capability indicates the operation supports one-dimensional (1D or linear) barcode app PDF417 scanning.
ONE_DIMENSIONAL_QRCODECapability indicates the operation supports one-dimensional (1D or linear) QR code scanning.
TWO_DIMENSIONAL_CA128Capability indicates the operation supports two-dimensional (1D or linear) barcode CA128 scanning.
TWO_DIMENSIONAL_PDF417Capability indicates the operation supports two-dimensional (1D or linear) barcode app PDF417 scanning.
TWO_DIMENSIONAL_QRCODECapability indicates the operation supports two-dimensional (1D or linear) QR code scanning.
ONLINE_REDEMPTIONCapability indicates the operation is an online redemption.
ORIGINAL_CREDIT_TRANSACTIONCapability indicates the operation is an original credit transaction.
REALTIME_BALANCE_INQUIRYCapability indicates the operation is a real-time balance inquiry.
REFUND_NON_REAL_TIMECapability indicates the operation is a refund in non-real-time.
REFUND_REAL_TIMECapability indicates the operation is a refund in real-time.
RELOADABLECapability indicates the operation is a reloadable transaction.
SUPPORT_ALL_MERCHANTSCapability indicates the operation supports all merchants.
SUPPORT_BARCODE_SCANCapability indicates the operation supports barcode scanning.
ASYNC_INSTANT_PAYMENTCapability indicates instrument supports asynchronous instant payments which typically happens in two steps. The first step represents payment initiation from PayPal, and second step represents callback coming in from an external processor.
US_NON_RESIDENT_ACCOUNTIdentify if US Bank account holder has residence address outside US, used for marking the transaction as IAT (International ACH Transfer).
modestring[ 1 .. 255 ] characters^[0-9A-Z_]+$

The supported financial instrument (FI) mode.

Enum ValueDescription
NON_REAL_TIMENon real time mode.
REAL_TIMEReal time mode.
networksArray of objects (Network) [ 1 .. 100 ] items
Networks for the Financial instrument.
capability_initiatorstring (capability_initiator) [ 1 .. 255 ] characters^[0-9A-Z_]+$

Initiator of money movement.

Enum ValueDescription
PAYPALIndicates PayPal initiate the money movement.
EXTERNALIndicates the money movement initiate from the external.
operation_typestring (Operation Type) [ 1 .. 255 ] characters^[0-9A-Z_]+$

Operation type.

Enum ValueDescription
CAPABILITY_OP_SINKCAPABILITY_OP_SINK.
CAPABILITY_OP_SOURCECAPABILITY_OP_SOURCE.
CAPABILITY_OP_READCAPABILITY_OP_READ.
READREAD.
SINKSINK.
SOURCESOURCE.

Copy

Expand allCollapse all

`{"name": "INSTALLMENT",

"mode": "NON_REAL_TIME",

"networks": [{"preferred": true,

"cross_border_transaction_supported": true,

"supported_currencies": ["str"

],

"transfer_type": "WIRE",

"mandate_enforcement": "SEPA",

"network_rules": ["string"

],

"name": "ACCEL"

}

],

"capability_initiator": "PAYPAL",

"operation_type": "CAPABILITY_OP_SINK"

}`

schema/capability_initiator capability_initiator

Initiator of money movement.

string (capability_initiator) [ 1 .. 255 ] characters^[0-9A-Z_]+$

Initiator of money movement.

Enum ValueDescription
PAYPALIndicates PayPal initiate the money movement.
EXTERNALIndicates the money movement initiate from the external.

Copy

"PAYPAL"

schema/contract_detail Contract details of a currency pair.

Contract details specifies honor period, rate refresh details etc. of a contract.

| rate_config_id | string[ 1 .. 4000 ] characters([0-9]*)
Rate_config_id uniquely identifies a currency pair contract. | | honor_period
required | integer[ 1 .. 86400 ]
Time in seconds to honor the rate. The honor period is upto 24 hours and can range from 1 to 86400 seconds. | | rounding_rule
required | string[ 1 .. 50 ] characters^[A-Z_]+$

Rounding rule for amount depending on the value.

ValueDescription
HALF_UPRounding mode to round towards nearest neighbor unless both neighbors are equidistant, in which case round up.
recurrence_period
required
string[ 1 .. 30 ] characters^[A-Z_]+$

The Recurrence period for the rate to refresh. If the recurrence_period is DAILY then the rate will refreshed everyday at 12:00 AM and if the recurrence_period is WEEKLY then the rate will be refreshed every week at Monday 12:00 AM (PS: As of ISO standard, we have Monday as the first day of the week).

Enum ValueDescription
DAILYDaily refresh.
WEEKLYWeekly refresh.
rate_refresh_times
required
Array of objects (Rate refresh times.) [ 1 .. 1000 ] items
Time in seconds when the rate will be refreshed based on the recurrence_period (DAILY,WEEKLY) attribute.
base_currency
required
string<ppaas_common_currency_code_v2> (currency_code) = 3 characters
Three-letter ISO 4217 alphabetical currency code.
quote_currency
required
string<ppaas_common_currency_code_v2> (currency_code) = 3 characters
Three-letter ISO 4217 alphabetical currency code.
start_time
required
string<ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|...Show pattern
Time when the honor rate will start. It is represented in ISO 8601
end_time
required
string<ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|...Show pattern
Time when the honor rate will expire. It is represented in ISO 8601
statusstring (Represents the operation status.) [ 1 .. 22 ] characters^[A-Z_]+$

Represents the approved status.

Enum ValueDescription
APPROVEDRepresents the approved status.
PENDING_APPROVALRepresents the pending status.

Copy

Expand allCollapse all

`{"rate_config_id": "string",

"honor_period": 1,

"rounding_rule": "HALF_UP",

"recurrence_period": "DAILY",

"rate_refresh_times": [{"rate_refresh_time": "string",

"rate_refresh_timezone": "string"

}

],

"base_currency": "str",

"quote_currency": "str",

"start_time": "stringstringstringst",

"end_time": "stringstringstringst",

"status": "APPROVED"

}`

schema/contract_id Contract id uniquely defines a rate-quote-contract between PayPal and category, country.

string (Contract id uniquely defines a rate-quote-contract between PayPal and category, country.) [ 1 .. 4000 ] characters([0-9]*)

Copy

"string"

schema/country_code country_code

The two-character ISO 3166-1 code that identifies the country or region.

Note: The country code for Great Britain is GB and not UK as used in the top-level domain names for that country. Use the C2 country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.

string<ppaas_common_country_code_v2> (country_code) = 2 characters^([A-Z]{2}|C2)$

The two-character ISO 3166-1 code that identifies the country or region.

Note: The country code for Great Britain is GB and not UK as used in the top-level domain names for that country. Use the C2 country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.

Copy

"st"

schema/country_code_v5 country_code

The 2-character ISO 3166-1 code that identifies the country or region.

Note: The country code for Great Britain is GB and not UK as used in the top-level domain names for that country. Use the C2 country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.

string<ppaas_common_country_code_v2> (country_code) = 2 characters^([A-Z]{2}|C2)$

The 2-character ISO 3166-1 code that identifies the country or region.

Note: The country code for Great Britain is GB and not UK as used in the top-level domain names for that country. Use the C2 country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.

Copy

"st"

schema/currency_code currency_code

The 3-character ISO-4217 currency code that identifies the currency.

string<ppaas_common_currency_code_v2> (currency_code) = 3 characters

The 3-character ISO-4217 currency code that identifies the currency.

Copy

"str"

schema/date_time date_time

The date and time, in Internet date and time format. Seconds are required while fractional seconds are optional.

Note: The regular expression provides guidance but does not reject all invalid dates.

string<ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|...Show pattern

The date and time, in Internet date and time format. Seconds are required while fractional seconds are optional.

Note: The regular expression provides guidance but does not reject all invalid dates.

Copy

"stringstringstringst"

schema/email_address email_address

The internationalized email address.

Note: Up to 64 characters are allowed before and 255 characters are allowed after the @ sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted @ sign exists.

string<ppaas_common_email_address_v2> (email_address) [ 3 .. 254 ] characters^.+@[^"\-].+$

The internationalized email address.

Note: Up to 64 characters are allowed before and 255 characters are allowed after the @ sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted @ sign exists.

Copy

"string"

schema/error Error

The error details.

name
required
string
The human-readable, unique name of the error.
message
required
string
The message that describes the error.
debug_id
required
string
The PayPal internal ID. Used for correlation purposes.
information_linkstring
The information link, or URI, that shows detailed information about this error for the developer.
detailsArray of objects (Error Details)
An array of additional details about the error.
linksArray of objects (Link Description)
An array of request-related HATEOAS links.

Copy

Expand allCollapse all

`{"name": "string",

"message": "string",

"debug_id": "string",

"information_link": "string",

"details": [{"field": "string",

"value": "string",

"location": "body",

"issue": "string",

"description": "string"

}

],

"links": [{"href": "string",

"rel": "string",

"method": "GET"

}

]

}`

schema/error_details Error Details

The error details. Required for client-side 4XX errors.

fieldstring
The field that caused the error. If this field is in the body, set this value to the field's JSON pointer value. Required for client-side errors.
valuestring
The value of the field that caused the error.
locationstring
Default:"body"
The location of the field that caused the error. Value is body, path, or query.
issue
required
string
The unique, fine-grained application-level error code.
descriptionstring
The human-readable description for an issue. The description can change over the lifetime of an API, so clients must not depend on this value.

Copy

`{"field": "string",

"value": "string",

"location": "body",

"issue": "string",

"description": "string"

}`

schema/bulk_exchange_currency_request Exchange currency request.

Exchange currency request.

| bulk_id
required | string[ 1 .. 45 ] characters.*
The unique identifier for each bulk item, enabling the client to correlate request and response. | | conversion_reason
required | string[ 4 .. 1000 ] characters^[A-Z_]+$

The reason for the currency exchange conversion.

Enum ValueDescription
WITHDRAWCurrency conversion reason.
FX_ON_SENDERCurrency Conversion is for purchasing goods/services. Ex: Buyer is using instrument in a different currency to fund the transaction.
FX_ON_RECEIVERCurrency Conversion is for Receiving funds. Ex: Merchant is receiving funds in a different currency than the transaction currency.
FX_ON_BALANCE_TRANSFERCurrency Conversion is for Balance transfer. Ex: Customer converting money from one holding currency to another.
NON_TRANSACTION_FXUsed when fetching rates for purposes other than transactions.
trade_type
required
string[ 3 .. 1000 ] characters^[A-Z_]+$

The type of the currency exchange.

Enum ValueDescription
BUYWhen you intent to buy amount specified in the request with the currency mentioned in target currency code.
SELLWhen you intent to sell the amount specified in the request and receive amount in target currency.This is default trade type.
fx_idstring[ 1 .. 4000 ] characters^[ -~]+$
A previous reference can be passed in to get a rate quote amount based on a previous rate.
amount
required
object (Money)
The from amount for currency exchange.
target_currency_code
required
string<ppaas_common_currency_code_v2> (currency_code) = 3 characters
The target currency code.

Copy

Expand allCollapse all

`{"bulk_id": "string",

"conversion_reason": "WITHDRAW",

"trade_type": "BUY",

"fx_id": "string",

"amount": {"currency_code": "str",

"value": "string"

},

"target_currency_code": "str"

}`

schema/bulk_exchange_currency_response Exchange currency response.

Exchange currency response.

bulk_idstring[ 1 .. 45 ] characters.*
The unique identifier for each bulk item, enabling the client to correlate request and response.
exchange_ratestring[ 1 .. 32 ] characters^([0-9]+[.][0-9]+)$
The currency conversion exchange rate.
fee_percentstring[ 1 .. 32 ] characters^(-?[0-9]+|-?([0-9]+)?[.][0-9]+)$
The fee percentage applied for this currency conversion.
reference_idstring[ 1 .. 4000 ] characters^[a-zA-Z0-9!@#$&()\-`.+,/":;~_=]*$
The reference id to identify this conversion.
source_amountobject (Money)
The from amount for currency exchange.
target_amountobject (Money)
The to amount for currency exchange.
source_usd_amountobject (Money)
The usd equivalent to source amount
target_usd_amountobject (Money)
The usd equivalent to target amount
feeobject (Fee Data)
In-depth information on the exchange currency fee applied to the order.
conversion_timestring<ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|...Show pattern
The time the conversion is done in ISO 8601.
effective_timestring<ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|...Show pattern
The effective time of exchange rate in ISO 8601.

Copy

Expand allCollapse all

`{"bulk_id": "string",

"exchange_rate": "string",

"fee_percent": "string",

"reference_id": "string",

"source_amount": {"currency_code": "str",

"value": "string"

},

"target_amount": {"currency_code": "str",

"value": "string"

},

"source_usd_amount": {"currency_code": "str",

"value": "string"

},

"target_usd_amount": {"currency_code": "str",

"value": "string"

},

"fee": {"fee_audit_trail_id": "string",

"tags": ["GROSS_BILLING"

],

"transaction_amount": {"currency_code": "str",

"value": "string"

},

"total_fee": {"currency_code": "str",

"value": "string"

},

"percent_fee": "string",

"fixed_fee": {"currency_code": "str",

"value": "string"

},

"partner_markup": "string"

},

"conversion_time": "stringstringstringst",

"effective_time": "stringstringstringst"

}`

schema/fee Fee Data

In-depth information on the fee applied to the order.

| fee_audit_trail_id
required | string[ 1 .. 500 ] characters^[ -~]+$
Would determine how the spread is calculated. | | tags | Array of strings (Pricing Tags) [ 1 .. 50 ] items

List of properties to influence the pricing behavior.

ItemsEnum ValueDescription
GROSS_BILLINGGross billed price.
FEE_APPLICABLEFee is applicable to the transaction.
FEE_NOT_APPLICABLEFee is not applicable to the transaction.
ALLOW_FEE_TO_EXCEED_TXN_AMOUNTFee is allowed to exceed transaction amount.
PARTNER_SPECIFIC_TRANSACTIONPartner specific transaction.
TAX_PRESENT_IN_TRANSACTIONTax is included in transaction fee.
COST_PRESENT_IN_TRANSACTIONThere is cost for transaction.
CROSS_BORDERCross border transaction.
APPLIED_FEE_CAPFee cap is applied to the transaction.
CROSS_BORDER_FEES_APPLIEDCross border fee is applied to the transaction.
CUSTOM_ROUNDINGCustom rounding preference or config is applied.
COUNTRY_ADJ_APPLIED_DUE_TO_FALLBACKDue to fallback, the country level adjustment got applied to the transaction.
GLOBAL_PAY_LATERGlobal pay later.
transaction_amount
required
object (Money)
transaction value of the order.
total_fee
required
object (Money)
Total monetary value of the fee.
percent_fee
required
string<ppaas_common_percentage_v2> (percentage) ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
Percentage of the order applied in fee.
fixed_feeobject (Money)
The amount to be charged in fee from any transaction, irrespective of the quantity or transaction amount.
partner_markupstring<ppaas_common_percentage_v2> (percentage) ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The client/partner provided markup that will be included in the exchange rate and later paid out to the client/partner.

Copy

Expand allCollapse all

`{"fee_audit_trail_id": "string",

"tags": ["GROSS_BILLING"

],

"transaction_amount": {"currency_code": "str",

"value": "string"

},

"total_fee": {"currency_code": "str",

"value": "string"

},

"percent_fee": "string",

"fixed_fee": {"currency_code": "str",

"value": "string"

},

"partner_markup": "string"

}`

schema/high_risk_category high_risk_category

Indicates the risk category of a merchant as per AML and Compliance checks.

string (high_risk_category) [ 1 .. 30 ] characters^[0-9A-Z_]+$

Indicates the risk category of a merchant as per AML and Compliance checks.

Enum ValueDescription
HIGH_RISKIndicates that the merchant is identified as risky by AML and Compliance team.
HIGH_RISK_WITH_EDDIndicates that the merchant is identified as risky and requires Enhanced Due Diligence registration by AML and Compliance team.

Copy

"HIGH_RISK"

schema/jwt jwt

The number in string format, and pattern supports JWT, Plain(account number of the instrument), Encrypted.

string (jwt) [ 1 .. 2000 ] characters^[A-Za-z0-9-_.+/=]+$

The number in string format, and pattern supports JWT, Plain(account number of the instrument), Encrypted.

Copy

"string"

The request-related HATEOAS link information.

href
required
string
The complete target URL. To make the related call, combine the method with this URI Template-formatted link. For pre-processing, include the $, (, and ) characters. The href is the key HATEOAS component that links a completed call with a subsequent call.
rel
required
string
The link relation type, which serves as an ID for a link that unambiguously describes the semantics of the link. See Link Relations.
methodstring
The HTTP method required to make the related call.
Enum:"GET""POST""PUT""DELETE""HEAD""CONNECT""OPTIONS""PATCH"

Copy

`{"href": "string",

"rel": "string",

"method": "GET"

}`

schema/mapping_values List of category mapping values.

List of categories linked to contract_id. These are price category codes for each/multiple customers generated by the engine and cannot be x-enums.

Array ([ 1 .. 100 ] items)

string[ 1 .. 10 ] characters^[A-Z0-9]+$

Price category that is linked to the contract.

Copy

["string"\ \ ]

schema/network_name List of network names

The capability network.

string (List of network names) [ 1 .. 255 ] characters^[0-9A-Z_]+$

The capability network.

Enum ValueDescription
ACCELIndicates ACCEL network support for given instrument.
AMEXIndicates AMEX network support for given instrument..
BACSIndicates BACS network support for given instrument.
BMLIndicates BML network support for given instrument.
CB_NATIONALEIndicates CB_NATIONALE network support for given instrument.
CETIndicates CET network support for given instrument.
CETELEMIndicates CETELEM network support for given instrument.
CHAPSIndicates CHAPS network support for given instrument.
CHASENETIndicates CHASENET network support for given instrument.
CHINA_UNION_PAYIndicates CHINA_UNION_PAY network support for given instrument.
COFIDISIndicates COFIDIS network support for given instrument.
COFINOGAIndicates COFINOGA network support for given instrument.
DELTAIndicates DELTA network support for given instrument.
DINERSIndicates DINERS network support for given instrument.
DISCOVERIndicates DISCOVER network support for given instrument.
EFTPOSIndicates EFTPOS network support for given instrument.
ELECTRONIndicates ELECTRON network support for given instrument.
ELOIndicates ELO network support for given instrument.
FPSIndicates FPS network support for given instrument.
GEIndicates GE network support for given instrument.
HIPERIndicates HIPER network support for given instrument.
HIPERCARDIndicates HIPERCARD network support for given instrument.
IAV_YODLEEIndicates IAV_YODLEE network support for given instrument.
JCBIndicates JCB network support for given instrument.
LOCALIndicates LOCAL network support for given instrument.
MAESTROIndicates MAESTRO network support for given instrument.
MASTER_CARDIndicates MASTER_CARD network support for given instrument.
NYCEIndicates NYCE network support for given instrument.
OPEN_WALLETIndicates OPEN_WALLET network support for given instrument.
PAYPALIndicates PAYPAL network support for given instrument.
POSTEPAYIndicates POSTEPAY network support for given instrument.
PULSEIndicates PULSE network support for given instrument.
PWMBIndicates PWMB network support for given instrument.
RUPAYIndicates RUPAY network support for given instrument.
SANIndicates SAN network support for given instrument.
SEPAIndicates SEPA network support for given instrument.
SEPA_COR1Indicates SEPA_COR1 network support for given instrument.
SEPA_COREIndicates SEPA_CORE network support for given instrument.
SOLOIndicates SOLO network support for given instrument.
SSGIndicates SSG network support for given instrument.
STARIndicates STAR network support for given instrument.
STAR_FINANZIndicates STAR_FINANZ network support for given instrument.
STAR_ACCESSIndicates STAR_ACCESS network support for given instrument.
SWITCHIndicates SWITCH network support for given instrument.
VISAIndicates VISA network support for given instrument.
WIREIndicates WIRE network support for given instrument.
FASTER_CLEARINGIndicates FASTER_CLEARING network support for given instrument.
SYNCHRONY_FINANCIAL_SUPPORTIndicates Synchrony Financial network support for given instrument.
REAL_TIME_PAYMENTSIndicates REAL_TIME_PAYMENTS network support for given instrument.

Copy

"ACCEL"

schema/merchant_segment merchant_segment

Indicates the type of segment merchant comes under in his business segment.

string (merchant_segment) [ 1 .. 20 ] characters^[0-9A-Z_]+$

Indicates the type of segment merchant comes under in his business segment.

Enum ValueDescription
LEIndicates the merchant belongs to Large Enterprise segment.
SMBIndicates the merchant belongs to Small Medium Business segment.

Copy

"LE"

schema/money Money

The currency and amount for a financial transaction, such as a balance or payment due.

currency_code
required
string<ppaas_common_currency_code_v2> (currency_code) = 3 characters
The 3-character ISO-4217 currency code that identifies the currency.
value
required
string<= 32 characters^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The value, which might be:
- An integer for currencies like JPY that are not typically fractional.
- A decimal fraction for currencies like TND that are subdivided into thousandths.
For the required number of decimal places for a currency code, see Currency Codes.

Copy

`{"currency_code": "str",

"value": "string"

}`

schema/network Network

The capability network.

| preferred | boolean
Indicates whether the network is the preferred network to complete the operation. | | cross_border_transaction_supported | boolean
Is cross border transaction supported. | | supported_currencies | Array of strings<ppaas_common_currency_code_v2> (currency_code) [ 1 .. 100 ] items
Supported currencies for the instrument. | | transfer_type | string[ 1 .. 255 ] characters^[0-9A-Z_]+$

Transfer type for particular network.

Enum ValueDescription
WIRETransfer type wire.
ELECTRONICTransfer type electronic.
INSTANTTransfer type Instant.
STANDARDTransfer type Standard.
mandate_enforcementstring[ 1 .. 255 ] characters^[0-9A-Z_]+$

Mandate enforcement for the network.

Enum ValueDescription
SEPAMandate enforcement.
ELECTRONICMandate enforcement.
network_rulesArray of strings[ 1 .. 100 ] items
Specific rules associated with Network.
namestring (List of network names) [ 1 .. 255 ] characters^[0-9A-Z_]+$

The capability Network.

Enum ValueDescription
ACCELIndicates ACCEL network support for given instrument.
AMEXIndicates AMEX network support for given instrument..
BACSIndicates BACS network support for given instrument.
BMLIndicates BML network support for given instrument.
CB_NATIONALEIndicates CB_NATIONALE network support for given instrument.
CETIndicates CET network support for given instrument.
CETELEMIndicates CETELEM network support for given instrument.
CHAPSIndicates CHAPS network support for given instrument.
CHASENETIndicates CHASENET network support for given instrument.
CHINA_UNION_PAYIndicates CHINA_UNION_PAY network support for given instrument.
COFIDISIndicates COFIDIS network support for given instrument.
COFINOGAIndicates COFINOGA network support for given instrument.
DELTAIndicates DELTA network support for given instrument.
DINERSIndicates DINERS network support for given instrument.
DISCOVERIndicates DISCOVER network support for given instrument.
EFTPOSIndicates EFTPOS network support for given instrument.
ELECTRONIndicates ELECTRON network support for given instrument.
ELOIndicates ELO network support for given instrument.
FPSIndicates FPS network support for given instrument.
GEIndicates GE network support for given instrument.
HIPERIndicates HIPER network support for given instrument.
HIPERCARDIndicates HIPERCARD network support for given instrument.
IAV_YODLEEIndicates IAV_YODLEE network support for given instrument.
JCBIndicates JCB network support for given instrument.
LOCALIndicates LOCAL network support for given instrument.
MAESTROIndicates MAESTRO network support for given instrument.
MASTER_CARDIndicates MASTER_CARD network support for given instrument.
NYCEIndicates NYCE network support for given instrument.
OPEN_WALLETIndicates OPEN_WALLET network support for given instrument.
PAYPALIndicates PAYPAL network support for given instrument.
POSTEPAYIndicates POSTEPAY network support for given instrument.
PULSEIndicates PULSE network support for given instrument.
PWMBIndicates PWMB network support for given instrument.
RUPAYIndicates RUPAY network support for given instrument.
SANIndicates SAN network support for given instrument.
SEPAIndicates SEPA network support for given instrument.
SEPA_COR1Indicates SEPA_COR1 network support for given instrument.
SEPA_COREIndicates SEPA_CORE network support for given instrument.
SOLOIndicates SOLO network support for given instrument.
SSGIndicates SSG network support for given instrument.
STARIndicates STAR network support for given instrument.
STAR_FINANZIndicates STAR_FINANZ network support for given instrument.
STAR_ACCESSIndicates STAR_ACCESS network support for given instrument.
SWITCHIndicates SWITCH network support for given instrument.
VISAIndicates VISA network support for given instrument.
WIREIndicates WIRE network support for given instrument.
FASTER_CLEARINGIndicates FASTER_CLEARING network support for given instrument.
SYNCHRONY_FINANCIAL_SUPPORTIndicates Synchrony Financial network support for given instrument.
REAL_TIME_PAYMENTSIndicates REAL_TIME_PAYMENTS network support for given instrument.

Copy

Expand allCollapse all

`{"preferred": true,

"cross_border_transaction_supported": true,

"supported_currencies": ["str"

],

"transfer_type": "WIRE",

"mandate_enforcement": "SEPA",

"network_rules": ["string"

],

"name": "ACCEL"

}`

schema/pricing_details Object for exchange currency pricing details.

Object for exchange currency pricing details.

price_category_codestring[ 1 .. 32 ] characters^[0-9A-Z]+$
Deprecated. Please use: ../user_profile/price_category. The price negotiation identifier with Paypal.
legal_country_codestring<ppaas_common_country_code_v2> (country_code) = 2 characters^([A-Z]{2}|C2)$
Deprecated. Please use: ../user_profile/legal_country_code. The legal country code to which the exchange is associated with.

Copy

`{"price_category_code": "string",

"legal_country_code": "string"

}`

schema/operation_type Operation Type

The Operation.

string (Operation Type) [ 1 .. 255 ] characters^[0-9A-Z_]+$

The Operation.

Enum ValueDescription
CAPABILITY_OP_SINKCAPABILITY_OP_SINK.
CAPABILITY_OP_SOURCECAPABILITY_OP_SOURCE.
CAPABILITY_OP_READCAPABILITY_OP_READ.
READREAD.
SINKSINK.
SOURCESOURCE.

Copy

"CAPABILITY_OP_SINK"

schema/patch Patch

The JSON patch object to apply partial updates to resources.

| op
required | string

The operation.

Enum ValueDescription
addDepending on the target location reference, completes one of these functions:
- The target location is an array index. Inserts a new value into the array at the specified index.
- The target location is an object parameter that does not already exist. Adds a new parameter to the object.
- The target location is an object parameter that does exist. Replaces that parameter's value.
The value parameter defines the value to add. For more information, see 4.1. add.
removeRemoves the value at the target location. For the operation to succeed, the target location must exist. For more information, see 4.2. remove.
replaceReplaces the value at the target location with a new value. The operation object must contain a value parameter that defines the replacement value. For the operation to succeed, the target location must exist. For more information, see 4.3. replace.
moveRemoves the value at a specified location and adds it to the target location. The operation object must contain a from parameter, which is a string that contains a JSON pointer value that references the location in the target document from which to move the value. For the operation to succeed, the from location must exist. For more information, see 4.4. move.
copyCopies the value at a specified location to the target location. The operation object must contain a from parameter, which is a string that contains a JSON pointer value that references the location in the target document from which to copy the value. For the operation to succeed, the from location must exist. For more information, see 4.5. copy.
testTests that a value at the target location is equal to a specified value. The operation object must contain a value parameter that defines the value to compare to the target location's value. For the operation to succeed, the target location must be equal to the value value. For test, equal indicates that the value at the target location and the value that value defines are of the same JSON type. The data type of the value determines how equality is defined:
TypeConsidered equal if both values
stringsContain the same number of Unicode characters and their code points are byte-by-byte equal.
numbersAre numerically equal.
arraysContain the same number of values, and each value is equal to the value at the corresponding position in the other array, by using these type-specific rules.
objectsContain the same number of parameters, and each parameter is equal to a parameter in the other object, by comparing their keys (as strings) and their values (by using these type-specific rules).
literals (false, true, and null)Are the same. The comparison is a logical comparison. For example, whitespace between the parameter values of an array is not significant. Also, ordering of the serialization of object parameters is not significant.

For more information, see 4.6. test. | | | path | string
The JSON Pointer to the target document location at which to complete the operation. | | value | any (Patch Value)
The value to apply. The remove, copy, and move operations do not require a value. Since JSON Patch allows any type for value, the type property is not specified. | | from | string
The JSON Pointer to the target document location from which to move the value. Required for the move operation. |

Copy

`{"op": "add",

"path": "string",

"value": null,

"from": "string"

}`

Legal entity of PayPal.

string (paypal_legal_entity) [ 1 .. 255 ] characters^[0-9A-Z_]+$

Legal entity of PayPal.

Enum ValueDescription
LEGAL_ENTITY_PAYPAL_INCPayPal Inc. (US).
LEGAL_ENTITY_PAYPAL_PRIVATE_LTDPayPal Private LTD.
LEGAL_ENTITY_PAYPAL_EUROPEPayPal Europe.
LEGAL_ENTITY_PAYPAL_CANADAPayPal Canada.
LEGAL_ENTITY_PAYPAL_TURKEYPayPal Turkey
LEGAL_ENTITY_PAYPAL_RUSSIAPayPal Russia.
LEGAL_ENTITY_PAYPAL_BRAZILPayPal Brazil.
LEGAL_ENTITY_PAYPAL_MEXICOPayPal Mexico.
LEGAL_ENTITY_PAYPAL_INDIAPayPal India.
LEGAL_ENTITY_PAYPAL_AUSTRALIAPayPal Australia.
INCPayPal Inc. (US).
PVT_LTDPayPal Private LTD.
EUROPEPayPal Europe.
CANADAPayPal Canada.
TURKEYPayPal Turkey
RUSSIAPayPal Russia.
BRAZILPayPal Brazil.
MEXICOPayPal Mexico.
INDIAPayPal India.
AUSTRALIAPayPal Australia.

Copy

"LEGAL_ENTITY_PAYPAL_INC"

schema/percentage percentage

The percentage, as a fixed-point, signed decimal number. For example, define a 19.99% interest rate as 19.99.

string<ppaas_common_percentage_v2> (percentage) ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$

The percentage, as a fixed-point, signed decimal number. For example, define a 19.99% interest rate as 19.99.

Copy

"string"

schema/phone Phone

The phone number, in its canonical international E.164 numbering plan format.

country_code
required
string[ 1 .. 3 ] characters^[0-9]{1,3}?$
The country calling code (CC), in its canonical international E.164 numbering plan format. The combined length of the CC and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).
national_number
required
string[ 1 .. 14 ] characters^[0-9]{1,14}?$
The national number, in its canonical international E.164 numbering plan format. The combined length of the country calling code (CC) and the national number must not be greater than 15 digits. The national number consists of a national destination code (NDC) and subscriber number (SN).
extension_numberstring[ 1 .. 15 ] characters^[0-9]{1,15}?$
The extension number.

Copy

`{"country_code": "str",

"national_number": "string",

"extension_number": "string"

}`

schema/phone_info Phone info

Type of the phone and phone number.

phone_typestring (Phone Type)
The phone usage type, for example, work, home, or mobile.
Enum:"FAX""HOME""MOBILE""OTHER""PAGER"
phone_numberobject (Phone)
The phone number.

Copy

Expand allCollapse all

`{"phone_type": "FAX",

"phone_number": {"country_code": "str",

"national_number": "string",

"extension_number": "string"

}

}`

schema/phone_type Phone Type

The phone type.

string (Phone Type)

The phone type.

Enum:"FAX""HOME""MOBILE""OTHER""PAGER"

Copy

"FAX"

schema/address_portable Portable Postal Address (Medium-Grained)

The portable international postal address. Maps to AddressValidationMetadata and HTML 5.1 Autofilling form controls: the autocomplete attribute.

address_line_1string<= 300 characters
The first line of the address. For example, number or street. For example, 173 Drury Lane. Required for data entry and compliance and risk checks. Must contain the full address.
address_line_2string<= 300 characters
The second line of the address. For example, suite or apartment number.
address_line_3string<= 100 characters
The third line of the address, if needed. For example, a street complement for Brazil, direction text, such as next to Walmart, or a landmark in an Indian address.
admin_area_4string<= 100 characters
The neighborhood, ward, or district. Smaller than admin_area_level_3 or sub_locality. Value is:
- The postal sorting code for Guernsey and many French territories, such as French Guiana.
- The fine-grained administrative levels in China.
admin_area_3string<= 100 characters
A sub-locality, suburb, neighborhood, or district. Smaller than admin_area_level_2. Value is:
- Brazil. Suburb, bairro, or neighborhood.
- India. Sub-locality or district. Street name information is not always available but a sub-locality or district can be a very small area.
admin_area_2string<= 120 characters
A city, town, or village. Smaller than admin_area_level_1.
admin_area_1string<= 300 characters
The highest level sub-division in a country, which is usually a province, state, or ISO-3166-2 subdivision. Format for postal delivery. For example, CA and not California. Value, by country, is:
- UK. A county.
- US. A state.
- Canada. A province.
- Japan. A prefecture.
- Switzerland. A kanton.
postal_codestring<= 60 characters
The postal code, which is the zip code or equivalent. Typically required for countries with a postal code or an equivalent. See postal code.
country_code
required
string<ppaas_common_country_code_v2> (country_code) = 2 characters^([A-Z]{2}|C2)$
The two-character ISO 3166-1 code that identifies the country or region.
> Note: The country code for Great Britain is GB and not UK as used in the top-level domain names for that country. Use the C2 country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
address_detailsobject (Address Details)
The non-portable additional address details that are sometimes needed for compliance, risk, or other scenarios where fine-grain address information might be needed. Not portable with common third party and open source. Redundant with core fields.
For example, address_portable.address_line_1 is usually a combination of address_details.street_number, street_name, and street_type.

Copy

Expand allCollapse all

`{"address_line_1": "string",

"address_line_2": "string",

"address_line_3": "string",

"admin_area_4": "string",

"admin_area_3": "string",

"admin_area_2": "string",

"admin_area_1": "string",

"postal_code": "string",

"country_code": "st",

"address_details": {"street_number": "string",

"street_name": "string",

"street_type": "string",

"delivery_service": "string",

"building_name": "string",

"sub_building": "string"

}

}`

schema/pricing_tags Pricing Tags

Transaction Level Tags interpreted by Pricing.

string (Pricing Tags) [ 1 .. 255 ] characters ^[A-Z0-9_]+$

Transaction Level Tags interpreted by Pricing.

Enum ValueDescription
GROSS_BILLINGGross billed price.
FEE_APPLICABLEFee is applicable to the transaction.
FEE_NOT_APPLICABLEFee is not applicable to the transaction.
ALLOW_FEE_TO_EXCEED_TXN_AMOUNTFee is allowed to exceed transaction amount.
PARTNER_SPECIFIC_TRANSACTIONPartner specific transaction.
TAX_PRESENT_IN_TRANSACTIONTax is included in transaction fee.
COST_PRESENT_IN_TRANSACTIONThere is cost for transaction.
CROSS_BORDERCross border transaction.
APPLIED_FEE_CAPFee cap is applied to the transaction.
CROSS_BORDER_FEES_APPLIEDCross border fee is applied to the transaction.
CUSTOM_ROUNDINGCustom rounding preference or config is applied.
COUNTRY_ADJ_APPLIED_DUE_TO_FALLBACKDue to fallback, the country level adjustment got applied to the transaction.
GLOBAL_PAY_LATERGlobal pay later.

Copy

"GROSS_BILLING"

schema/rate_refresh_times Rate refresh times.

List of rate refresh details having the epoch elapsed time and timezone based on merchant preference.

rate_refresh_time
required
string<ppaas_common_time_duration_v2> (Time Duration) ^P([0-9]+Y)?([0-9]+M)?([0-9]+W)?([0-9]+D)?(T(...Show pattern
Duration when the rate will be refreshed based on the recurrence_period in UTC.
rate_refresh_timezone
required
string<ppaas_time_zone_v3> (time_zone) [ 1 .. 127 ] characters
Timezone of the rate_refresh_time based on merchant preference. The service handle conversion to UTC.

Copy

`{"rate_refresh_time": "string",

"rate_refresh_timezone": "string"

}`

schema/status_enum Represents the operation status.

Represents the operation status.

string (Represents the operation status.) [ 1 .. 22 ] characters^[A-Z_]+$

Represents the operation status.

Enum ValueDescription
APPROVEDRepresents the approved status.
PENDING_APPROVALRepresents the pending status.

Copy

"APPROVED"

schema/quote_item Request object for exchange rate quote.

Request object for exchange rate quote.

base_amountstring[ 1 .. 32 ] characters^([0-9]+[.][0-9]+)$
Product price in base currency. If not provided, PayPal returns only the exchange rate and does not calculate the quote_amount.
fx_idstring[ 1 .. 4000 ] characters^[ -~]+$
Unique identifier that links a quoted FX rate to an order.
base_currencystring<ppaas_common_currency_code_v2> (currency_code) = 3 characters
The currency code of the base amount to be converted for the presentment and in which the final transaction amount needs to be settled into merchant PayPal business account. This could be your primary currency, or any other PayPal supported holding currency. You can find currency codes here.
quote_currencystring<ppaas_common_currency_code_v2> (currency_code) = 3 characters
The currency code in which the conversion should take place using this API. This is the currency in which the transaction is performed, and the transaction amount gets converted into base currency.
markup_percentstring<ppaas_common_percentage_v2> (percentage) ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
The percentage of the merchant or partner spread to be included as part of the exchange rate. markup_percent can range from 0 to 100.

Copy

`{"base_amount": "string",

"fx_id": "string",

"base_currency": "str",

"quote_currency": "str",

"markup_percent": "string"

}`

schema/quote_exchange_rates_request Request Object for quoting exchange rates.

Request Object for quoting exchange rates.

organizationstring[ 2 .. 100 ] characters^\w{2,20}(\/\w{2,20})*$
Organization this managed account belongs to, in the partner's hierarchy, in the form of a path.
quote_items
required
Array of objects (Request object for exchange rate quote.) [ 1 .. 250 ] items
Parameters required to request an exchange rate, passed in the quote_items array:
- base_currency
- base_amount
- quote_currency
- markup_percent
- fx_id.

Copy

Expand allCollapse all

`{"organization": "string",

"quote_items": [{"base_amount": "string",

"fx_id": "string",

"base_currency": "str",

"quote_currency": "str",

"markup_percent": "string"

}

]

}`

schema/rate_detail Response object for fx service exchange currency.

Exchange rate details, specified as an object with the following parameters:

  • base_amount
  • quote_amount
  • exchange_rate
  • expiry_time
  • rate_refresh_time
  • fx_id.
exchange_rate
required
string[ 1 .. 32 ] characters^([0-9]+[.][0-9]+)$
Conversion rate between the base and quote currencies. Includes markup if markup_percent is provided in the request.
fx_idstring[ 1 .. 4000 ] characters^[ -~]+$
Unique identifier that links a quoted FX rate to an order. Must be passed in further API calls.
base_amount
required
object (Money)
The amount that needs to be converted. If this parameter was not passed in the request, the value of base_amount is considered as 1 by default.
quote_amount
required
object (Money)
The amount in desired currency after conversion.
expiry_timestring<ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|...Show pattern
The time until exchange_rate will be valid for settlement. It is represented in ISO 8601. The time is determined at the time of contract agreement.
rate_refresh_timestring<ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|...Show pattern
The time at which new exchange rates will be available next for this currency pair. The frequency is determined at the time of contract agreement.
update_timestring<ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|...Show pattern
The time at which the exchange rate was last updated. The time is represented in ISO 8601.

Copy

Expand allCollapse all

`{"exchange_rate": "string",

"fx_id": "string",

"base_amount": {"currency_code": "str",

"value": "string"

},

"quote_amount": {"currency_code": "str",

"value": "string"

},

"expiry_time": "stringstringstringst",

"rate_refresh_time": "stringstringstringst",

"update_time": "string"

}`

schema/quote_exchange_rates_response Response Object for quoting exchange rates.

Response Object for quoting exchange rates.

exchange_rate_quotes
required
Array of objects (Response object for fx service exchange currency.) [ 1 .. 500 ] items
Exchange rate details, specified as an array of object.

Copy

Expand allCollapse all

`{"exchange_rate_quotes": [{"exchange_rate": "string",

"fx_id": "string",

"base_amount": {"currency_code": "str",

"value": "string"

},

"quote_amount": {"currency_code": "str",

"value": "string"

},

"expiry_time": "stringstringstringst",

"rate_refresh_time": "stringstringstringst",

"update_time": "string"

}

]

}`

schema/status Status of the Instrument

Status of the instrument, indicates whether it is available for clients.

string (Status of the Instrument) [ 1 .. 12 ] characters^[A-Z_]+$

Status of the instrument, indicates whether it is available for clients.

Enum ValueDescription
OPENStatus of the instrument - OPEN. Instrument is available for transactions.
CLOSEDStatus of the instrument - CLOSED. Instrument is unavailable for transactions.

Copy

"OPEN"

schema/sub_balance Sub balance resource

Sub balance resource.

| type | string (The specific type of the balance account) [ 1 .. 255 ] characters^[0-9A-Z_]+$

Type of balance.

Enum ValueDescription
AVAILABLEAvailable balance.
CC_FUNDEDAmount received from credit card transactions.
EXIT_LIMITExit Limit.
EXTERNAL_HOLDExternal hold.
GIFT_CARDGift card balance.
GUEST_BALANCEGuest balance for temporary usage like PUI and PAD.
HOLDHold balance because of risk.
LIMITATION_RESERVEReserve balance due to limitations.
MERCHANT_SPECIFIC_BALANCEPayable or receivable balance aka MSB.
PENDING_REVERSALBuffer balance kept for pending reversals.
TOTAL_BALANCETotal balance, includes holds, reserves and balance.
VARIABLE_RESERVESReserve balance.
DELAYED_SETTLEMENTDelayed settlement.
EBAY_NON_PERFORMEREBay non performer.
JUMP_STARTJump start.
MINIMUM_BALANCEMinimum balance.
MPLT_HOLDTransaction hold on seller's account.
TRANS_LEVEL_HOLDTransaction hold which is placed when buyer is fraudulent.
AUTHORIZED_EXTERNAL_UNCLEARED_FUNDSAuthorized external uncleared funds.
DYNAMIC_HOLDTransaction hold to mitigate fraud due to insufficient funds on outstanding transaction.
UNCLEARED_FUNDSDisbursement to Balance should be UNCLEARED_FUNDS when funding source is ECHECK.
TAX_HOLDTransaction hold when tax identifier information is not available.
USER_CONSENT_HOLDTransaction hold when user has not consented on the latest terms and conditions available.
PARTNER_LOSS_BALANCEHolds the partner loss amount.
PROGRESSIVE_KYC_HOLDHold type to park merchant balance which are onboarded under progressive onboarding and hold will be released once KYC is completed.
CHARGE_OFF_BALANCETo hold the locked charge off amount.
amountobject (Money)
Amount along with currency of balance account.

Copy

Expand allCollapse all

`{"type": "AVAILABLE",

"amount": {"currency_code": "str",

"value": "string"

}

}`

schema/balance_type The specific type of the balance account

The specific type of the balance account.

string (The specific type of the balance account) [ 1 .. 255 ] characters^[0-9A-Z_]+$

The specific type of the balance account.

Enum ValueDescription
AVAILABLEAvailable balance.
CC_FUNDEDAmount received from credit card transactions.
EXIT_LIMITExit Limit.
EXTERNAL_HOLDExternal hold.
GIFT_CARDGift card balance.
GUEST_BALANCEGuest balance for temporary usage like PUI and PAD.
HOLDHold balance because of risk.
LIMITATION_RESERVEReserve balance due to limitations.
MERCHANT_SPECIFIC_BALANCEPayable or receivable balance aka MSB.
PENDING_REVERSALBuffer balance kept for pending reversals.
TOTAL_BALANCETotal balance, includes holds, reserves and balance.
VARIABLE_RESERVESReserve balance.
DELAYED_SETTLEMENTDelayed settlement.
EBAY_NON_PERFORMEREBay non performer.
JUMP_STARTJump start.
MINIMUM_BALANCEMinimum balance.
MPLT_HOLDTransaction hold on seller's account.
TRANS_LEVEL_HOLDTransaction hold which is placed when buyer is fraudulent.
AUTHORIZED_EXTERNAL_UNCLEARED_FUNDSAuthorized external uncleared funds.
DYNAMIC_HOLDTransaction hold to mitigate fraud due to insufficient funds on outstanding transaction.
UNCLEARED_FUNDSDisbursement to Balance should be UNCLEARED_FUNDS when funding source is ECHECK.
TAX_HOLDTransaction hold when tax identifier information is not available.
USER_CONSENT_HOLDTransaction hold when user has not consented on the latest terms and conditions available.
PARTNER_LOSS_BALANCEHolds the partner loss amount.
PROGRESSIVE_KYC_HOLDHold type to park merchant balance which are onboarded under progressive onboarding and hold will be released once KYC is completed.
CHARGE_OFF_BALANCETo hold the locked charge off amount.

Copy

"AVAILABLE"

schema/time_duration Time Duration

The ISO-8601-formatted length of time in years, months, weeks, days, hours, minutes, and seconds.

Note: The format is PyYmMdDThHmMsS. When an amount is zero, you can omit it. Because week cannot co-exist with other time components in ISO-8601 duration, specify P7D. Make provisions to incorporate the effects of daylight savings time.

For more information, see durations.

string<ppaas_common_time_duration_v2> (Time Duration) ^P([0-9]+Y)?([0-9]+M)?([0-9]+W)?([0-9]+D)?(T(...Show pattern

The ISO-8601-formatted length of time in years, months, weeks, days, hours, minutes, and seconds.

Note: The format is PyYmMdDThHmMsS. When an amount is zero, you can omit it. Because week cannot co-exist with other time components in ISO-8601 duration, specify P7D. Make provisions to incorporate the effects of daylight savings time.

For more information, see durations.

Copy

"string"

schema/time_zone time_zone

The time zone, in Internet Assigned Numbers Authority (IANA) time zone (tz) database format. A valid value is America/New_York or Etc/UTC. Do not use ambiguous, non-qualified tz database values, such as EST or GB. Before you include this type in your interface, consider whether it is appropriate to convey time zone information with your type. At the time of display to the user, transform this value from UTC. Typically, this type is associated with user-preference APIs.

string<ppaas_time_zone_v3> (time_zone) [ 1 .. 127 ] characters

The time zone, in Internet Assigned Numbers Authority (IANA) time zone (tz) database format. A valid value is America/New_York or Etc/UTC. Do not use ambiguous, non-qualified tz database values, such as EST or GB. Before you include this type in your interface, consider whether it is appropriate to convey time zone information with your type. At the time of display to the user, transform this value from UTC. Typically, this type is associated with user-preference APIs.

Copy

"string"

Self-contained PayPal REST API documentation reference. Updated 2026-05-18.