Skip to main content

Release 28.05.2024

· 4 min read

Changelog

New Features

Order Creation endpoint update

In the order creation endpoint, a new optional parameter webhookUrl has been added to the paymentSettings object. This parameter allows specifying an individual webhook for order status changes for each order. webhookUrl is of type string and is validated as a URL, so it must begin with https://.

If webhookUrl is specified when creating an order, notifications about the order status change will be sent to this URL and will not be sent to the general webhook URL set for the shop.

The new parameter is highlighted in the code below:

{
"shopId": 1234,
"order": {
"orderNumber": "56573FDFVFDBWF",
"cost": {
"amount": "56.99",
"currency": "PHP"
}
},
"customer": {
"customerId": "56656",
"firstName": "John",
"lastName": "Doe",
"middleName": "James",
"phone": "79221110500",
"email": "john.doe@mymail.com"
},
"paymentSettings": {
"instrumentType": "wallet",
"providerCode": "connectpay",
"acquirerCode": "gcash",
"entryMode": null,
"autoCapture": true,
"timeLimit": "2024-02-03T10:51:49.086Z",
"redirectUrls": {
"success": "https://example.com/success",
"failure": "https://example.com/failure"
},
"webhookUrl": "https://example.com/webhook"
},
"paymentPageDesign": {
"alias": "default",
"format": "redirect"
}
}

Improvements

Customer ID uniqueness update

The logic for the customerId parameter in the order creation endpoint has been modified. The customerId can now be unique either within a shop or across the entire company/merchant. The existing logic remains unchanged for current merchants, meaning customerId uniqueness remains within the shop by default. This update simply adds the option to change this setting via the technical support. To determine the setting for your shop, check the admin panel of your merchant account under the settings menu in the field 'External customer ID unique for'.

Changes expected in the next release

Payouts

Addition of a new endpoint and future deprecation of an existing endpoint

In future versions, the endpoint /payouts/fields/{providerCode}/{instrumentType}/ Retrieve Required Payout Fields will be declared deprecated. It will be replaced by a new endpoint, /api/v1/payouts/fields Retrieve Required Payout Fields, which is currently under development. The response structures of these endpoints will be identical, but the new endpoint will support a significantly larger number of parameters in the request, allowing it to support a wider range of providers.

The /payouts/fields/{providerCode}/{instrumentType}/ Retrieve Required Payout Fields endpoint will gradually be discontinued. We will make a separate announcement to inform you when it is officially deprecated.

Addition of a new parameter in the payout creation endpoint

A new optional parameter, transferType, will be added to the Payout Creation Request. The new transferType parameter will be mandatory when creating a payout with instrumentType == bank_transfer.

The new parameter that will be added is highlighted in this request example:

{
"shopId": 2,
"payout": {
"cost": {
"amount": "100.50",
"currency": "PHP"
},
"payoutNumber": "43242332"
},
"purpose": "string",
"providerCode": "connectpay",
"acquirerCode": "gcash",
"instrumentType": "bank_transfer",
"transferType": "bank_wire",
"customer": {
"customerId": "56656",
"firstName": "John",
"lastName": "Doe",
"middleName": "James",
"phone": "79221110500",
"email": "john.doe@mymail.com"
}
}

Orders

The changes mentioned in the previous changelog (14.05.2024) regarding the webhook with breaking changes will not be made in this release but will be implemented in the next release on 11.06.2024. For now, the webhook remains unchanged.

danger

The webhook for orders will change in the next release (11.06.2024) without backward compatibility.

Lines highlighted will be removed from the webhook in the next release.

{
"id": 77,
"number": "7_1706275173",
"status": "in_progress",
"cost": {
"amount": "56.99",
"currency": "USD"
},
"timeLimit": {
"date": "2024-01-27 07:45:51.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"orderCreatedAt": {
"date": "2024-01-26 13:19:33.222170",
"timezone_type": 3,
"timezone": "UTC"
},
"orderPaidAt": {
"date": "2024-01-26 13:19:33.222170",
"timezone_type": 3,
"timezone": "UTC"
},
"captureNeeded": false,
"payments": [
{
"id": "79",
"type": "payment",
"parentPaymentId": "83",
"cost": {
"amount": "56.99",
"currency": "USD"
},
"acquirerCode": "fyst",
"paymentMethod": "card",
"paymentDetails": {
"type": "card",
"authCode": "auth94753457343",
"rrn": "rrn583743856734",
"maskedCardNumber": "123456******1234"
}
}
],
"customer": {
"id": 13,
"name": "John",
"middleName": "James",
"surname": "Doe",
"phone": "79221110500",
"email": "john.doe@mymail.com"
},
"data": {
"shopId": 123,
"orderNumber": "56573FDFVFDBWF",
"orderStatus": "in_progress",
"cost": {
"amount": "56.99",
"currency": "USD"
},
"timeLimit": "2023-08-29T15:34:56+03:00",
"orderCreatedAt": "2023-08-29T15:34:56+03:00",
"orderPaidAt": "2023-08-29T15:34:56+03:00",
"autoCapture": true,
"payments": [
{
"paymentId": "79",
"paymentType": "payment",
"parentPayment": "83",
"cost": {
"amount": "56.99",
"currency": "USD"
},
"acquirer": {
"code": "fyst"
},
"instrumentType": "card",
"paymentDetails": {
"authCode": "auth94753457343",
"maskedCardNumber": "123456******1234",
"rrn": "rrn583743856734"
}
}
],
"customer": {
"customerId": "56656",
"firstName": "John",
"lastName": "Doe",
"middleName": "James",
"phone": "79221110500",
"email": "john.doe@mymail.com"
}
}
}