For the complete documentation index, see llms.txt. This page is also available as Markdown.

Transactions

Create transaction

post
/transactions
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Header parameters
paypalFraudIdstringOptional

PayPal Fraud Id

x-vfi-api-idempotencyKeystringOptional

A value you specify that uniquely identifies the transaction. If you're unsure whether a particular transaction succeeded, you can reattempt it with the same idempotency key without worrying about duplicating the transaction. Required when billingAgreementId is passed in the payload

Body
paymentProviderContractstringRequired

Payment Provider contract

intentstring · enumOptional

Intent of this transaction

Default: CAPTUREPossible values:
dynamicDescriptorstring · max: 22Optional

If an Order is paid using the "PayPal Wallet" the statement descriptor will appear in following format on the payer card statement: PAYPAL_prefix+(space)+merchant_descriptor+(space)+dynamicDescriptor. The PAYPAL prefix uses 8 characters. Only the first 22 characters will be displayed in the statement. For example, * The PayPal prefix toggle is PAYPAL * The merchant descriptor in the profile is Janes Gift * The soft descriptor is 800-123-1234 Then, the statement descriptor on the card is PAYPAL * Janes Gift 80.

merchantReferencestring · max: 127Optional

The API caller-provided external ID. Used to reconcile client transactions with PayPal transactions. Appears in transaction and settlement reports but is not visible to the payer.

descriptionstring · max: 127Optional

Purchase description

Responses
201

Created

application/json
idstringRequired

Transaction UUID from create transaction API

createdAtstring · dateRequired

Transaction creation date (ISO-8601)

statusstring · enumOptional

Transaction status

Possible values:
orderIdstringOptional

PayPal order identifier

instoreReferencestringRequired

Reference to the transaction for internal usage for instore

approvalUrlstringOptional

The URL where the customer should be redirected to approve the payment

post/transactions
POST /oidc/paypal-ecom/transactions HTTP/1.1
Host: emea.gsc.verifone.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: */*
Accept: */*
Content-Length: 1371

{
  "paymentProviderContract": "text",
  "amount": {
    "value": 100,
    "currencyCode": "EUR"
  },
  "intent": "CAPTURE",
  "customer": {
    "email": "text",
    "payerId": "text",
    "phoneNumber": {
      "phoneType": "FAX",
      "value": "text"
    },
    "birthDate": "2026-01-01",
    "identification": {
      "taxIdentificationNumber": "text",
      "taxIdentificationType": "BR_CNPJ"
    },
    "address": {
      "country": "text",
      "postalCode": "text",
      "countrySubdivision": "text",
      "city": "text",
      "addressLine2": "text",
      "addressLine1": "text"
    },
    "firstName": "text",
    "lastName": "text"
  },
  "applicationContext": {
    "brandName": "text",
    "locale": "text",
    "landingPage": "BILLING",
    "shippingPreference": "NoShipping",
    "paymentPreference": "Any",
    "shopperAuthorization": "TEL",
    "returnUrl": "text",
    "cancelUrl": "text"
  },
  "shipping": {
    "address": {
      "country": "text",
      "postalCode": "text",
      "countrySubdivision": "text",
      "city": "text",
      "addressLine2": "text",
      "addressLine1": "text"
    },
    "fullName": "text"
  },
  "items": [
    {
      "name": "text",
      "unitAmount": {
        "currencyCode": "EUR",
        "value": 100
      },
      "tax": {
        "currencyCode": "EUR",
        "value": 100
      },
      "quantity": 1,
      "description": "text",
      "sku": "text",
      "category": "DIGITAL_GOODS"
    }
  ],
  "dynamicDescriptor": "text",
  "merchantReference": "text",
  "description": "text",
  "detailedAmount": {
    "discount": {
      "value": 100,
      "currencyCode": "EUR"
    },
    "shippingDiscount": {
      "value": 100,
      "currencyCode": "EUR"
    },
    "insurance": {
      "value": 100,
      "currencyCode": "EUR"
    },
    "handling": {
      "value": 100,
      "currencyCode": "EUR"
    },
    "shipping": {
      "value": 100,
      "currencyCode": "EUR"
    }
  }
}
{
  "id": "text",
  "createdAt": "2026-01-01",
  "status": "INITIATED",
  "orderId": "text",
  "instoreReference": "text",
  "approvalUrl": "text"
}

Update transaction

patch
/transactions/{id}
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Transaction UUID from create transaction API

Body
intentstring · enumOptional

Intent of this transaction

Possible values:
merchantReferencestring · max: 127Optional

The API caller-provided external ID. Used to reconcile client transactions with PayPal transactions. Appears in transaction and settlement reports but is not visible to the payer.

descriptionstring · max: 127Optional

Purchase description

dynamicDescriptorstring · max: 22Optional

If an Order is paid using the "PayPal Wallet" the statement descriptor will appear in following format on the payer card statement: PAYPAL_prefix+(space)+merchant_descriptor+(space)+dynamicDescriptor. The PAYPAL prefix uses 8 characters. Only the first 22 characters will be displayed in the statement. For example, * The PayPal prefix toggle is PAYPAL * The merchant descriptor in the profile is Janes Gift * The soft descriptor is 800-123-1234 Then, the statement descriptor on the card is PAYPAL * Janes Gift 80.

Responses
204

No Content

patch/transactions/{id}
PATCH /oidc/paypal-ecom/transactions/{id} HTTP/1.1
Host: emea.gsc.verifone.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: */*
Accept: */*
Content-Length: 939

{
  "intent": "AUTHORIZE",
  "payer": {
    "email": "text",
    "payerId": "text",
    "phoneNumber": {
      "phoneType": "FAX",
      "value": "text"
    },
    "birthDate": "2026-01-01",
    "identification": {
      "taxIdentificationNumber": "text",
      "taxIdentificationType": "BR_CNPJ"
    },
    "address": {
      "country": "text",
      "postalCode": "text",
      "countrySubdivision": "text",
      "city": "text",
      "addressLine2": "text",
      "addressLine1": "text"
    },
    "firstName": "text",
    "lastName": "text"
  },
  "merchantReference": "text",
  "description": "text",
  "shipping": {
    "address": {
      "country": "text",
      "postalCode": "text",
      "countrySubdivision": "text",
      "city": "text",
      "addressLine2": "text",
      "addressLine1": "text"
    },
    "fullName": "text"
  },
  "dynamicDescriptor": "text",
  "amount": {
    "value": 100,
    "currencyCode": "EUR"
  },
  "detailedAmount": {
    "discount": {
      "value": 100,
      "currencyCode": "EUR"
    },
    "shippingDiscount": {
      "value": 100,
      "currencyCode": "EUR"
    },
    "insurance": {
      "value": 100,
      "currencyCode": "EUR"
    },
    "handling": {
      "value": 100,
      "currencyCode": "EUR"
    },
    "shipping": {
      "value": 100,
      "currencyCode": "EUR"
    }
  }
}

No content

Set transaction context

post
/transactions/risk/context
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
paymentProviderContractstringRequired

Payment Provider contract

trackingIdstringOptional

A unique ID to track each transaction

dataobject · detailsOptional
Responses
200

Successful

application/json
trackingIdstringRequired

A unique ID to track each transaction

post/transactions/risk/context
POST /oidc/paypal-ecom/transactions/risk/context HTTP/1.1
Host: emea.gsc.verifone.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: */*
Accept: */*
Content-Length: 64

{
  "paymentProviderContract": "text",
  "trackingId": "text",
  "data": {}
}
{
  "trackingId": "text"
}

Cancel authorisation

post
/transactions/{id}/void
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Transaction UUID from create transaction API

Responses
204

No Content

post/transactions/{id}/void
POST /oidc/paypal-ecom/transactions/{id}/void HTTP/1.1
Host: emea.gsc.verifone.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Authorize transaction

post
/transactions/{id}/authorize
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Transaction UUID from create transaction API

Header parameters
paypalFraudIdstringOptional

PayPal Fraud Id

x-vfi-api-idempotencyKeystringOptional

A value you specify that uniquely identifies the transaction. If you're unsure whether a particular transaction succeeded, you can reattempt it with the same idempotency key without worrying about duplicating the transaction.

Body
agreementIdstringOptional

PayPal billing agreement id

merchantReferencestring · max: 127Optional

The API caller-provided external ID. Used to reconcile client transactions with PayPal transactions. Appears in transaction and settlement reports but is not visible to the payer.

Responses
201

Created

application/json
idstringRequired

Transaction UUID from create transaction API

authorizationIdstringRequired

PayPal authorization identifier

createdAtstring · dateRequired

Authorization creation date (ISO-8601)

expiresAtstring · dateOptional

Authorization expiration date (ISO-8601)

statusstring · enumOptional

Transaction status

Possible values:
instoreReferencestringRequired

Reference to the transaction for internal usage for instore

post/transactions/{id}/authorize
POST /oidc/paypal-ecom/transactions/{id}/authorize HTTP/1.1
Host: emea.gsc.verifone.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: */*
Accept: */*
Content-Length: 49

{
  "agreementId": "text",
  "merchantReference": "text"
}
{
  "id": "text",
  "authorizationId": "text",
  "createdAt": "2026-01-01",
  "expiresAt": "2026-01-01",
  "status": "AUTHORISED",
  "payer": {
    "payerId": "text",
    "name": {
      "firstName": "text",
      "lastName": "text"
    },
    "phoneNumber": {
      "phoneType": "FAX",
      "value": "text"
    },
    "email": "text",
    "shippingAddress": {
      "country": "text",
      "postalCode": "text",
      "countrySubdivision": "text",
      "city": "text",
      "addressLine2": "text",
      "addressLine1": "text",
      "fullName": "text"
    },
    "authorizationStatus": "text"
  },
  "instoreReference": "text"
}

Capture transaction

post
/transactions/{id}/capture
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Transaction UUID from create transaction API

Header parameters
paypalFraudIdstringOptional

PayPal Fraud Id

x-vfi-api-idempotencyKeystringOptional

A value you specify that uniquely identifies the transaction. If you're unsure whether a particular transaction succeeded, you can reattempt it with the same idempotency key without worrying about duplicating the transaction.

Body
descriptionstring · max: 127Optional

An informational note about the capture. Appears in both the payer's transaction history and the emails that the payer receives.

agreementIdstringOptional

Billing Agreement id

merchantReferencestring · max: 127Optional

The API caller-provided external ID. Used to reconcile client transactions with PayPal transactions. Appears in transaction and settlement reports but is not visible to the payer.

Responses
201

Created

application/json
idstringRequired

Transaction UUID from create transaction API

captureIdstringRequired

PayPal capture identifier

isFinalCapturebooleanOptional

Flag telling if capture is final or not

instoreReferencestringRequired

Reference to the transaction for internal usage for instore

createdAtstring · dateRequired

Capture creation date (ISO-8601)

statusstring · enumOptional

Transaction status

Possible values:
post/transactions/{id}/capture
POST /oidc/paypal-ecom/transactions/{id}/capture HTTP/1.1
Host: emea.gsc.verifone.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: */*
Accept: */*
Content-Length: 114

{
  "amount": {
    "value": 100,
    "currencyCode": "EUR"
  },
  "description": "text",
  "agreementId": "text",
  "merchantReference": "text"
}
{
  "id": "text",
  "captureId": "text",
  "isFinalCapture": true,
  "instoreReference": "text",
  "createdAt": "2026-01-01",
  "status": "AUTHORISED",
  "payer": {
    "payerId": "text",
    "name": {
      "firstName": "text",
      "lastName": "text"
    },
    "phoneNumber": {
      "phoneType": "FAX",
      "value": "text"
    },
    "email": "text",
    "shippingAddress": {
      "country": "text",
      "postalCode": "text",
      "countrySubdivision": "text",
      "city": "text",
      "addressLine2": "text",
      "addressLine1": "text",
      "fullName": "text"
    },
    "paymentStatus": "text"
  }
}

Refund transaction

post
/transactions/{id}/refund
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Transaction UUID from create transaction API

Header parameters
x-vfi-api-idempotencyKeystringOptional

A value you specify that uniquely identifies the transaction. If you're unsure whether a particular transaction succeeded, you can reattempt it with the same idempotency key without worrying about duplicating the transaction.

Body
reasonstring · max: 127Optional

The reason for the refund. Appears in both the payer's transaction history and the emails that the payer receives.

merchantReferencestring · max: 127Optional

The API caller-provided external ID. Used to reconcile client transactions with PayPal transactions. Appears in transaction and settlement reports but is not visible to the payer.

Responses
201

Created

application/json
idstringRequired

Transaction UUID from create transaction API

refundIdstringRequired

Refund identifier

createdAtstring · dateRequired

Refund creation date (ISO-8601)

statusstring · enumOptional

Transaction status

Possible values:
instoreReferencestringRequired

Reference to the transaction for internal usage for instore

post/transactions/{id}/refund
POST /oidc/paypal-ecom/transactions/{id}/refund HTTP/1.1
Host: emea.gsc.verifone.cloud
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: */*
Accept: */*
Content-Length: 88

{
  "amount": {
    "value": 100,
    "currencyCode": "EUR"
  },
  "reason": "text",
  "merchantReference": "text"
}
{
  "id": "text",
  "refundId": "text",
  "createdAt": "2026-01-01",
  "status": "AUTHORISED",
  "instoreReference": "text"
}

Last updated

Was this helpful?