This site requires javascript to be enabled.

Picpay

Results for

Results for Searching

Integration

Before you begin

To follow along with this guide, please ensure that you have the following ready:

Using MyCheckout hosted payment pages

If you're looking for the quickest way to accept payments, our MyCheckout hosted payment pages are the optimal solution for a hassle-free payment experience. 

  1. Make a POST /v1/{merchantId}/hostedcheckouts API call.
  2. Add the order object containing the required properties. 

Additionally, you can add hostedCheckoutSpecificInput object, featuring the following strings:

  • returnUrl - the URL that the consumer is redirect to after the payment flow has finished. 
  • variant - the created styling of the checkout page tailored to your consumer's preferences.
  • locale - the language, that will be used for your hosted checkout page.

Property Data type Required
order object yes
amountOfMoney object yes
currencyCode string yes
amount integer yes
customer object yes
billingAddress object yes
countryCode string yes
fiscalNumber string yes
locale string no
variant string no
Below, you'll find an example API call with the essential data. To add more information with additional properties, please visit to our API Reference.
POST HOSTEDCHECKOUT REQUEST
{   "RETURNMAC": "89084bf6-d736-40a0-a5a0-2e6fb50baeae",
  "hostedCheckoutId": "067f7c64-6969-71ff-ba79-2d1cf4246ae1",
  "partialRedirectUrl": "pay1.checkout.worldline-solutions.com/checkout/9991-04b38b3ce0f5443599838b4fec060e76:067f7c64-6969-71ff-ba79-2d1cf4246ae1:41a98d29c2d347ff9582ea0d691fe883"
  {
  "order": {
    "amountOfMoney": {
      "currencyCode": "BRL",
      "amount": 100
    },
    "customer": {
      "merchantCustomerId": "CustomerDetails",
      "billingAddress": {
        "countryCode": "BR"
      }
    "fiscalNumber": "55974523474"
    }
  }
}
POST HOSTEDCHECKOUT RESPONSE
{   "RETURNMAC": "89084bf6-d736-40a0-a5a0-2e6fb50baeae",
  "hostedCheckoutId": "067f7c64-6969-71ff-ba79-2d1cf4246ae1",
  "partialRedirectUrl": "pay1.checkout.worldline-solutions.com/checkout/9991-04b38b3ce0f5443599838b4fec060e76:067f7c64-6969-71ff-ba79-2d1cf4246ae1:41a98d29c2d347ff9582ea0d691fe883"
{
  "RETURNMAC": "825904b5-7235-4b63-85b1-1e5bcef9b00e",
  "hostedCheckoutId": "0682cd3d-0c59-71ff-aac9-d84f4e1e7b57",
  "partialRedirectUrl": "pay1.preprod.checkout.worldline-solutions.com/checkout/3010202402-8198eebf585c445ba7c33e5561aa3f34:0682cd3d-0c59-71ff-aac9-d84f4e1e7b57:bf3cbbc8c02740be87e0dc66d8876af6"
}

From the response, the important properties are:

  • hostedCheckoutId– can be used in subsequent API calls to retrieve the transaction details, (with Get hosted checkout status API call);
  • partialRedirectUrl– is used to create the URL to which the customer needs to be redirected, By default, we configure every account with the subdomain payment, so you can always connect https://payment/. with the partialRedirectUrl, for example:

https://payment.pay1.preprod.checkout.worldline-solutions.com/checkout/9992-6ce05357a95344********

For more information on customizing the checkout page, please refer to our detailed guide on MyCheckout hosted payment pages.

The hostedCheckoutId is only valid for 2 hours. Ensure to store the createdPaymentOutput.payment.id from Get hosted checkout status response to be able to retrieve data after 2 hours have elapsed via Get payment API call. Alternatively, we can also send a webhook event that will contain it.

Using your own checkout page

You can build a direct integration using our SDKs (or integrate our API from scratch). Depending on your integration needs, there are several options available.

Client encryption

Our Client API allows you to perform various actions. All you need is to be able to create a session via the POST/v1/{merchantId}/sessions API call, which will grant you access to the Client API. It's highly recommended that you use our Client SDKs, provided for the following programming languages:

We also have reference implementations showing how to use these SDKs on GitHub.

Non-encrypted data

If you wish to do a direct server-to-server API call, go for this option. The difference with the other options mentioned before is that you don't need to submit the encryptedCustomerInput property. After the consumer selects the payment product, you need to perform the following:

  1. Make a POST /v1/{merchantId}/payments API call.
  2. Add the order object containing the required properties.
  3. Add the redirectPaymentMethodSpecificInput object containing the required properties.
  4. Add the redirectionData object containing the returnUrl property.
Below, you'll find an example request containing the essential data. For more information, please refer to our API Reference.
Property Data type Required
order object yes
amountOfMoney object yes
amount integer yes
currencyCode string yes
customer object yes
billdingAddress object yes
countryCode string yes
contactDetails object yes
emailAddress string yes
fiscalNumber string yes
personalInformation object yes
name object yes
firstName string yes
surname string yes
references object yes
merchantReference string yes
redirectPaymentMethodSpecificInput object yes
paymentProductId integer yes
redirectionData object yes
returnUrl string yes
Below, you'll find an example request containing the essential data. For more information, please refer to our API Reference.
POST PAYMENTS REQUEST
"id" : "000008800510000157710000100001",
  {
  "order": {
    "amountOfMoney": {
      "amount": 35000,
      "currencyCode": "BRL"
    },
    "customer": {
      "billingAddress": {
        "countryCode": "BR"
      },
      "contactDetails": {
        "emailAddress": "Preston42@yahoo.com"
      },
      "fiscalNumber": "01709853506",
      "personalInformation": {
        "name": {
          "firstName": "Josefina",
          "surname": "Kuhlman"
        }
      }
    },
    "references": {
      "merchantReference": "2025060614"
    }
  },
  "redirectPaymentMethodSpecificInput": {
    "paymentProductId": 6107,
    "redirectionData": {
      "returnUrl": "https://epayments.developer-ingenico.com"
    }
  }
}
POST PAYMENTS RESPONSE
"id" : "000008800510000157710000100001",
{
  "creationOutput": {
    "additionalReference": "2025060614",
    "externalReference": "2025060614"
  },
  "merchantAction": {
    "actionType": "REDIRECT",
    "redirectData": {
      "RETURNMAC": "a3243adf-deee-4b90-ace1-ce04edace97a",
      "redirectURL": "https://sandbox.ebanx.com/ws/redirect/execute?hash=68434ee22ad71193bc72320f64eefb31f82d424d72c03836"
    },
    "showData": []
  },
  "payment": {
    "id": "301020240210000001440000100001",
    "paymentOutput": {
      "amountOfMoney": {
        "amount": 35000,
        "currencyCode": "BRL"
      },
      "references": {
        "merchantReference": "2025060614",
        "paymentReference": "E20200004KQA"
      },
      "paymentMethod": "redirect",
      "redirectPaymentMethodSpecificOutput": {
        "paymentProductId": 6107,
        "bankAccountBban": {
          "accountHolderName": "Kuhlman"
        }
      }
    },
    "status": "REDIRECTED",
    "statusOutput": {
      "isCancellable": false,
      "isRetriable": false,
      "statusCategory": "PENDING_PAYMENT",
      "statusCode": 50,
      "statusCodeChangeDateTime": "20250606222611",
      "isAuthorized": false,
      "isRefundable": false
    }
  }
}
Next Process flows