hyperswitch
hyperswitch copied to clipboard
Refactor(connector): Migrate [AdyenPlatform, Ebanx, GPayments, Netcetera, Plaid] from crates/router to crates/hyperswitch_connectors
Type of Change
- [ ] Bugfix
- [ ] New feature
- [ ] Enhancement
- [x] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD
Description
Moving connectors from crates/router to crates/hyperswitch_connectors
- adyenplatform
- ebanx
- gpayments
- netcetera
- plaid
issue: https://github.com/juspay/hyperswitch/issues/7916
Additional Changes
- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables
Motivation and Context
How did you test it?
PLAID REF PR : https://github.com/juspay/hyperswitch/pull/3952
- create plaid MCA
curl --location 'http://localhost:8080/account/merchant_1745827786/connectors' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'x-feature: integ-custom' \
--header 'api-key: dev_3MQvYMIeRXwga5C0QQaHBqi6RzjIbIEgcenajXpGnqONwMEcwkx4SHzvduOEOTjF' \
--data '{
"connector_type": "payment_processor",
"connector_name": "plaid",
"connector_account_details": {
"auth_type": "BodyKey",
"api_key": "***",
"key1": "***"
},
"payment_methods_enabled": [
{
"payment_method": "open_banking",
"payment_method_types": [
{
"payment_method_type": "open_banking_pis",
"payment_experience": "redirect_to_url",
"card_networks": null,
"accepted_currencies": {
"type": "enable_only",
"list": [
"EUR",
"GBP"
]
},
"accepted_countries": null,
"minimum_amount": 0,
"maximum_amount": 68607706,
"recurring_enabled": true,
"installment_payment_enabled": true
}
]
}
],
"connector_webhook_details": null,
"metadata": {
"city": "NY",
"unit": "246"
},
"test_mode": false,
"disabled": false,
"frm_configs": null,
"business_country": null,
"business_label": null,
"business_sub_label": null,
"pm_auth_config": null,
"status": "active",
"additional_merchant_data": {
"open_banking_recipient_data": {
"account_data": {
"bacs": {
"account_number": "55779911",
"sort_code": "200000",
"name": "merchant_name",
"connector_recipient_id": "recipient-id-sandbox-45beb880-9e3d-4ae3-927b-052f5610fd74"
}
}
}
}
}’
- create payment
curl --location 'http://localhost:8080/payments' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_3MQvYMIeRXwga5C0QQaHBqi6RzjIbIEgcenajXpGnqONwMEcwkx4SHzvduOEOTjF' \
--data-raw '{
"amount": 200,
"currency": "GBP",
"confirm": false,
"capture_method": "automatic",
"capture_on": "2022-09-10T10:11:12Z",
"email": "[email protected]",
"name": "John Doe",
"phone": "999999999",
"phone_country_code": "+1",
"description": "Its my first payment request",
"authentication_type": "no_three_ds",
"return_url": "https://google.com",
"billing": {
"address": {
"line1": "1467",
"line2": "Harrison Street",
"line3": "Harrison Street",
"city": "San Fransico",
"state": "California",
"zip": "94122",
"country": "GB",
"first_name": "john",
"last_name": "Doe"
},
"phone": {
"number": "8056594427",
"country_code": "+91"
}
},
"shipping": {
"address": {
"line1": "1467",
"line2": "Harrison Street",
"line3": "Harrison Street",
"city": "San Fransico",
"state": "California",
"zip": "94122",
"country": "GB",
"first_name": "joseph",
"last_name": "Doe"
},
"phone": {
"number": "8056594430",
"country_code": "+91"
}
},
"statement_descriptor_name": "joseph",
"statement_descriptor_suffix": "JS",
"metadata": {
"udf1": "value1",
"new_customer": "true",
"login_date": "2019-09-10T10:11:12Z"
}
}’
SUCCESS RESPONSE
{
"payment_id": "pay_YHCSrBabp6msKIdaaMaI",
"merchant_id": "merchant_1745827786",
"status": "requires_payment_method",
"amount": 200,
"net_amount": 200,
"shipping_cost": null,
"amount_capturable": 0,
"amount_received": null,
"connector": null,
"client_secret": "pay_YHCSrBabp6msKIdaaMaI_secret_kUrGl5b5l986f5dcErNV",
"created": "2025-04-28T08:10:06.811Z",
"currency": "GBP",
"customer_id": null,
"customer": {
"id": null,
"name": "John Doe",
"email": "[email protected]",
"phone": "999999999",
"phone_country_code": "+1"
},
"description": "Its my first payment request",
"refunds": null,
"disputes": null,
"mandate_id": null,
"mandate_data": null,
"setup_future_usage": null,
"off_session": null,
"capture_on": null,
"capture_method": "automatic",
"payment_method": null,
"payment_method_data": null,
"payment_token": null,
"shipping": {
"address": {
"city": "San Fransico",
"country": "GB",
"line1": "1467",
"line2": "Harrison Street",
"line3": "Harrison Street",
"zip": "94122",
"state": "California",
"first_name": "joseph",
"last_name": "Doe"
},
"phone": {
"number": "8056594430",
"country_code": "+91"
},
"email": null
},
"billing": {
"address": {
"city": "San Fransico",
"country": "GB",
"line1": "1467",
"line2": "Harrison Street",
"line3": "Harrison Street",
"zip": "94122",
"state": "California",
"first_name": "john",
"last_name": "Doe"
},
"phone": {
"number": "8056594427",
"country_code": "+91"
},
"email": null
},
"order_details": null,
"email": null,
"name": null,
"phone": null,
"return_url": "https://google.com/",
"authentication_type": "no_three_ds",
"statement_descriptor_name": "joseph",
"statement_descriptor_suffix": "JS",
"next_action": null,
"cancellation_reason": null,
"error_code": null,
"error_message": null,
"unified_code": null,
"unified_message": null,
"payment_experience": null,
"payment_method_type": null,
"connector_label": null,
"business_country": null,
"business_label": "default",
"business_sub_label": null,
"allowed_payment_method_types": null,
"ephemeral_key": null,
"manual_retry_allowed": null,
"connector_transaction_id": null,
"frm_message": null,
"metadata": {
"udf1": "value1",
"login_date": "2019-09-10T10:11:12Z",
"new_customer": "true"
},
"connector_metadata": null,
"feature_metadata": null,
"reference_id": null,
"payment_link": null,
"profile_id": "pro_J7WGw473DjsyTN52d0hJ",
"surcharge_details": null,
"attempt_count": 1,
"merchant_decision": null,
"merchant_connector_id": null,
"incremental_authorization_allowed": null,
"authorization_count": null,
"incremental_authorizations": null,
"external_authentication_details": null,
"external_3ds_authentication_attempted": false,
"expires_on": "2025-04-28T08:25:06.811Z",
"fingerprint": null,
"browser_info": null,
"payment_method_id": null,
"payment_method_status": null,
"updated": "2025-04-28T08:10:06.841Z",
"split_payments": null,
"frm_metadata": null,
"extended_authorization_applied": null,
"capture_before": null,
"merchant_order_reference_id": null,
"order_tax_amount": null,
"connector_mandate_id": null,
"card_discovery": null,
"force_3ds_challenge": false,
"force_3ds_challenge_trigger": false,
"issuer_error_code": null,
"issuer_error_message": null
}
- CONFIRM
curl --location 'http://localhost:8080/payments/pay_YHCSrBabp6msKIdaaMaI/confirm' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_3MQvYMIeRXwga5C0QQaHBqi6RzjIbIEgcenajXpGnqONwMEcwkx4SHzvduOEOTjF' \
--data '{
"payment_method": "open_banking",
"payment_method_type": "open_banking_pis",
"payment_method_data": {
"open_banking": {
"open_banking_pis": {}
}
}
}’
response
Successful response will have status as requires_customer_action and next_action as third_party_sdk_session_token -
{
"payment_id": "pay_YHCSrBabp6msKIdaaMaI",
"merchant_id": "merchant_1745827786",
"status": "requires_customer_action",
"amount": 200,
"net_amount": 200,
"shipping_cost": null,
"amount_capturable": 200,
"amount_received": null,
"connector": "plaid",
"client_secret": "pay_YHCSrBabp6msKIdaaMaI_secret_kUrGl5b5l986f5dcErNV",
"created": "2025-04-28T08:10:06.811Z",
"currency": "GBP",
"customer_id": null,
"customer": {
"id": null,
"name": "John Doe",
"email": "[email protected]",
"phone": "999999999",
"phone_country_code": "+1"
},
"description": "Its my first payment request",
"refunds": null,
"disputes": null,
"mandate_id": null,
"mandate_data": null,
"setup_future_usage": null,
"off_session": null,
"capture_on": null,
"capture_method": "automatic",
"payment_method": "open_banking",
"payment_method_data": {
"open_banking": {
"open_banking_pis": {}
},
"billing": null
},
"payment_token": null,
"shipping": {
"address": {
"city": "San Fransico",
"country": "GB",
"line1": "1467",
"line2": "Harrison Street",
"line3": "Harrison Street",
"zip": "94122",
"state": "California",
"first_name": "joseph",
"last_name": "Doe"
},
"phone": {
"number": "8056594430",
"country_code": "+91"
},
"email": null
},
"billing": {
"address": {
"city": "San Fransico",
"country": "GB",
"line1": "1467",
"line2": "Harrison Street",
"line3": "Harrison Street",
"zip": "94122",
"state": "California",
"first_name": "john",
"last_name": "Doe"
},
"phone": {
"number": "8056594427",
"country_code": "+91"
},
"email": null
},
"order_details": null,
"email": null,
"name": null,
"phone": null,
"return_url": "https://google.com/",
"authentication_type": "no_three_ds",
"statement_descriptor_name": "joseph",
"statement_descriptor_suffix": "JS",
"next_action": {
"type": "third_party_sdk_session_token",
"session_token": {
"wallet_name": "open_banking",
"open_banking_session_token": "link-sandbox-13e756c7-45e2-4841-b10d-fd97627ba501"
}
},
"cancellation_reason": null,
"error_code": null,
"error_message": null,
"unified_code": null,
"unified_message": null,
"payment_experience": null,
"payment_method_type": "open_banking_pis",
"connector_label": null,
"business_country": null,
"business_label": "default",
"business_sub_label": null,
"allowed_payment_method_types": null,
"ephemeral_key": null,
"manual_retry_allowed": null,
"connector_transaction_id": "payment-id-sandbox-2d044d64-b713-433d-b249-f99d47c1fbac",
"frm_message": null,
"metadata": {
"udf1": "value1",
"login_date": "2019-09-10T10:11:12Z",
"new_customer": "true"
},
"connector_metadata": null,
"feature_metadata": null,
"reference_id": "payment-id-sandbox-2d044d64-b713-433d-b249-f99d47c1fbac",
"payment_link": null,
"profile_id": "pro_J7WGw473DjsyTN52d0hJ",
"surcharge_details": null,
"attempt_count": 1,
"merchant_decision": null,
"merchant_connector_id": "mca_3r6Sr9CClmCPCuXIEzKV",
"incremental_authorization_allowed": null,
"authorization_count": null,
"incremental_authorizations": null,
"external_authentication_details": null,
"external_3ds_authentication_attempted": false,
"expires_on": "2025-04-28T08:25:06.811Z",
"fingerprint": null,
"browser_info": {
"os_type": null,
"language": null,
"time_zone": null,
"ip_address": "::1",
"os_version": null,
"user_agent": null,
"color_depth": null,
"device_model": null,
"java_enabled": null,
"screen_width": null,
"accept_header": null,
"screen_height": null,
"accept_language": "en",
"java_script_enabled": null
},
"payment_method_id": null,
"payment_method_status": null,
"updated": "2025-04-28T08:21:50.132Z",
"split_payments": null,
"frm_metadata": null,
"extended_authorization_applied": null,
"capture_before": null,
"merchant_order_reference_id": null,
"order_tax_amount": null,
"connector_mandate_id": null,
"card_discovery": null,
"force_3ds_challenge": false,
"force_3ds_challenge_trigger": false,
"issuer_error_code": null,
"issuer_error_message": null
}
NETCETERA
-
CREATE Netcetera auth processor and checkout payment processor
-
Update Business profile for auth flow
curl --location 'http://localhost:8080/account/merchant_1745840350/business_profile/pro_5ue8hhxsHkXzCanhT2CW' \
--header 'Content-Type: application/json' \
--header 'api-key: dev_5gY5nna8FN6u9l7H7ilO3ksCW3LkoypGaOLhZV5ScNxfw1lw8xksxWyIFsZsZVTD' \
--data '{
"profile_name": "grocery",
"authentication_connector_details": {
"authentication_connectors": [
"netcetera"
],
"three_ds_requestor_url": "https://3dss-pp-prev-ndm.acquiring.test.netcetera.com/acs/3ds-method"
}
}'
- create payment whith
"request_external_three_ds_authentication": true
curl --location 'http://localhost:8080/payments' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_5gY5nna8FN6u9l7H7ilO3ksCW3LkoypGaOLhZV5ScNxfw1lw8xksxWyIFsZsZVTD' \
--data-raw '{
"amount": 100,
"currency": "USD",
"confirm": false,
"capture_method": "automatic",
"capture_on": "2022-09-10T10:11:12Z",
"amount_to_capture": 100,
"customer_id": "StripeCustomer",
"email": "[email protected]",
"name": "John Doe",
"phone": "999999999",
"phone_country_code": "+65",
"description": "Its my first payment request",
"authentication_type": "three_ds",
"return_url": "https://duck.com",
"billing": {
"address": {
"line1": "1467",
"line2": "Harrison Street",
"line3": "Harrison Street",
"city": "San Fransico",
"state": "California",
"zip": "94122",
"country": "US",
"first_name": "PiX"
},
"phone": {
"number": "123456789",
"country_code": "12"
}
},
"shipping": {
"address": {
"line1": "1467",
"line2": "Harrison Street",
"line3": "Harrison Street",
"city": "San Fransico",
"state": "California",
"zip": "94122",
"country": "US",
"first_name": "PiX"
},
"phone": {
"number": "123456789",
"country_code": "12"
}
},
"request_external_three_ds_authentication": true,
"statement_descriptor_name": "joseph",
"statement_descriptor_suffix": "JS",
"metadata": {
"udf1": "value1",
"new_customer": "true",
"login_date": "2019-09-10T10:11:12Z"
}
}'
Response "status"="requires_payment_method",
4. Payment confirm
curl --location 'http://localhost:8080/payments/pay_re3vpR4Dwn6MNmO2xogp/confirm' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'api-key: dev_5gY5nna8FN6u9l7H7ilO3ksCW3LkoypGaOLhZV5ScNxfw1lw8xksxWyIFsZsZVTD' \
--data '{
"browser_info": {
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36",
"accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"language": "nl-NL",
"color_depth": 24,
"screen_height": 723,
"screen_width": 1536,
"time_zone": 0,
"java_enabled": true,
"java_script_enabled": true,
"ip_address": "115.99.183.2"
},
"payment_method": "card",
"payment_method_data": {
"card": {
"card_number": "4929251897047956",
"card_exp_month": "10",
"card_exp_year": "25",
"card_holder_name": "joseph Doe",
"card_cvc": "123"
}
}
}'`
Response :
```json
{
"payment_id": "pay_re3vpR4Dwn6MNmO2xogp",
"merchant_id": "merchant_1745840350",
"status": "requires_customer_action",
"amount": 100,
"net_amount": 100,
"shipping_cost": null,
"amount_capturable": 100,
"amount_received": null,
"connector": "checkout",
"client_secret": "pay_re3vpR4Dwn6MNmO2xogp_secret_q1EZvfdAPSkIZY6eCXhf",
"created": "2025-04-28T12:47:07.085Z",
"currency": "USD",
"customer_id": "StripeCustomer",
"customer": {
"id": "StripeCustomer",
"name": "John Doe",
"email": "[email protected]",
"phone": "999999999",
"phone_country_code": "+65"
},
"description": "Its my first payment request",
"refunds": null,
"disputes": null,
"mandate_id": null,
"mandate_data": null,
"setup_future_usage": null,
"off_session": null,
"capture_on": null,
"capture_method": "automatic",
"payment_method": "card",
"payment_method_data": {
"card": {
"last4": "7956",
"card_type": null,
"card_network": null,
"card_issuer": null,
"card_issuing_country": null,
"card_isin": "492925",
"card_extended_bin": null,
"card_exp_month": "10",
"card_exp_year": "25",
"card_holder_name": "joseph Doe",
"payment_checks": null,
"authentication_data": null
},
"billing": null
},
"payment_token": "token_Oj4F2UQ4PIN3h9uejq9S",
"shipping": {
"address": {
"city": "San Fransico",
"country": "US",
"line1": "1467",
"line2": "Harrison Street",
"line3": "Harrison Street",
"zip": "94122",
"state": "California",
"first_name": "PiX",
"last_name": null
},
"phone": {
"number": "123456789",
"country_code": "12"
},
"email": null
},
"billing": {
"address": {
"city": "San Fransico",
"country": "US",
"line1": "1467",
"line2": "Harrison Street",
"line3": "Harrison Street",
"zip": "94122",
"state": "California",
"first_name": "PiX",
"last_name": null
},
"phone": {
"number": "123456789",
"country_code": "12"
},
"email": null
},
"order_details": null,
"email": "[email protected]",
"name": "John Doe",
"phone": "999999999",
"return_url": "https://duck.com/",
"authentication_type": "three_ds",
"statement_descriptor_name": "joseph",
"statement_descriptor_suffix": "JS",
"next_action": {
"type": "three_ds_invoke",
"three_ds_data": {
"three_ds_authentication_url": "http://localhost:8080/payments/pay_re3vpR4Dwn6MNmO2xogp/3ds/authentication",
"three_ds_authorize_url": "http://localhost:8080/payments/pay_re3vpR4Dwn6MNmO2xogp/merchant_1745840350/authorize/checkout",
"three_ds_method_details": {
"three_ds_method_key": "threeDSMethodData",
"three_ds_method_data_submission": true,
"three_ds_method_data": "eyJ0aHJlZURTTWV0aG9kTm90aWZpY2F0aW9uVVJMIjoiaHR0cHM6Ly9leGFtcGxlLmNvbS8zZHMtbWV0aG9kLW5vdGlmaWNhdGlvbi11cmwiLCJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjY5YjU4NzlmLTIwYWEtNGIxMi1hNjFkLTg1YTg0NzZmZjdmNyJ9",
"three_ds_method_url": "https://ndm-prev.3dss-non-prod.cloud.netcetera.com/acs/3ds-method"
},
"poll_config": {
"poll_id": "external_authentication_pay_re3vpR4Dwn6MNmO2xogp",
"delay_in_secs": 2,
"frequency": 5
},
"message_version": "2.3.1",
"directory_server_id": "A000000003"
}
},
"cancellation_reason": null,
"error_code": null,
"error_message": null,
"unified_code": null,
"unified_message": null,
"payment_experience": null,
"payment_method_type": null,
"connector_label": null,
"business_country": null,
"business_label": "default",
"business_sub_label": null,
"allowed_payment_method_types": null,
"ephemeral_key": null,
"manual_retry_allowed": null,
"connector_transaction_id": null,
"frm_message": null,
"metadata": {
"udf1": "value1",
"login_date": "2019-09-10T10:11:12Z",
"new_customer": "true"
},
"connector_metadata": null,
"feature_metadata": null,
"reference_id": null,
"payment_link": null,
"profile_id": "pro_5ue8hhxsHkXzCanhT2CW",
"surcharge_details": null,
"attempt_count": 1,
"merchant_decision": null,
"merchant_connector_id": "mca_s8Vw96XBCTmvBGMGqEj5",
"incremental_authorization_allowed": null,
"authorization_count": null,
"incremental_authorizations": null,
"external_authentication_details": {
"authentication_flow": null,
"electronic_commerce_indicator": null,
"status": "pending",
"ds_transaction_id": "69b5879f-20aa-4b12-a61d-85a8476ff7f7",
"version": "2.3.1",
"error_code": null,
"error_message": null
},
"external_3ds_authentication_attempted": true,
"expires_on": "2025-04-28T13:02:07.085Z",
"fingerprint": null,
"browser_info": {
"os_type": null,
"language": "nl-NL",
"time_zone": 0,
"ip_address": "115.99.183.2",
"os_version": null,
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36",
"color_depth": 24,
"device_model": null,
"java_enabled": true,
"screen_width": 1536,
"accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"screen_height": 723,
"accept_language": "en",
"java_script_enabled": true
},
"payment_method_id": null,
"payment_method_status": null,
"updated": "2025-04-28T12:47:19.403Z",
"split_payments": null,
"frm_metadata": null,
"extended_authorization_applied": null,
"capture_before": null,
"merchant_order_reference_id": null,
"order_tax_amount": null,
"connector_mandate_id": null,
"card_discovery": "manual",
"force_3ds_challenge": false,
"force_3ds_challenge_trigger": false,
"issuer_error_code": null,
"issuer_error_message": null
}
AYDENPLATFORM
Create payout - adyenplatform supports only SEPA
- https://github.com/juspay/hyperswitch-cloud/issues/5414
curl --location 'http://localhost:8080/payouts/create' \
--header 'x-feature: integ-custom' \
--header 'Content-Type: application/json' \
--header 'api-key: dev_5gY5nna8FN6u9l7H7ilO3ksCW3LkoypGaOLhZV5ScNxfw1lw8xksxWyIFsZsZVTD' \
--data-raw '{
"amount": 100,
"currency": "EUR",
"customer_id": "cus_BoR4qowJ8Fa872dKgQLD",
"email": "[email protected]",
"name": "John Doe",
"phone": "999999999",
"phone_country_code": "+65",
"description": "Its my first payout request",
"payout_type": "bank",
"priority": "regular",
"payout_method_data": {
"bank": {
"iban": "NL57INGB4654188101"
}
},
"connector": [
"adyenplatform"
],
"billing": {
"address": {
"line1": "Raadhuisplein",
"line2": "92",
"city": "Hoogeveen",
"state": "FL",
"zip": "7901 BW",
"country": "NL",
"first_name": "John",
"last_name": "Doe"
},
"phone": {
"number": "0650242319",
"country_code": "+31"
}
},
"entity_type": "Individual",
"recurring": true,
"metadata": {
"ref": "123"
},
"confirm": true,
"auto_fulfill": false
}'
Response
{
"payout_id": "8fac3092-81e4-4936-b619-713de4281e36",
"merchant_id": "merchant_1745840350",
"amount": 100,
"currency": "EUR",
"connector": "adyenplatform",
"payout_type": "bank",
"payout_method_data": {
"bank": {
"iban": "NL57I********88101",
"bank_name": null,
"bank_country_code": null,
"bank_city": null,
"bic": null
}
},
"billing": {
"address": {
"city": "Hoogeveen",
"country": "NL",
"line1": "Raadhuisplein",
"line2": "92",
"line3": null,
"zip": "7901 BW",
"state": "FL",
"first_name": "John",
"last_name": "Doe"
},
"phone": {
"number": "0650242319",
"country_code": "+31"
},
"email": null
},
"auto_fulfill": false,
"customer_id": "cus_BoR4qowJ8Fa872dKgQLD",
"customer": {
"id": "cus_BoR4qowJ8Fa872dKgQLD",
"name": "John Doe",
"email": "[email protected]",
"phone": "999999999",
"phone_country_code": "+65"
},
"client_secret": "payout_8fac3092-81e4-4936-b619-713de4281e36_secret_LMTGxKqCY3DViNkN3Y5x",
"return_url": null,
"business_country": null,
"business_label": null,
"description": "Its my first payout request",
"entity_type": "Individual",
"recurring": true,
"metadata": {
"ref": "123"
},
"merchant_connector_id": "mca_ZnBgWE1jKXg7Ogzvs0Ha",
"status": "requires_fulfillment",
"error_message": null,
"error_code": null,
"profile_id": "pro_5ue8hhxsHkXzCanhT2CW",
"created": "2025-04-29T06:00:21.535Z",
"connector_transaction_id": null,
"priority": "regular",
"payout_link": null,
"email": "[email protected]",
"name": "John Doe",
"phone": "999999999",
"phone_country_code": "+65",
"unified_code": null,
"unified_message": null,
"payout_method_id": null
}
Fulfill
curl --location 'http://localhost:8080/payouts/8fac3092-81e4-4936-b619-713de4281e36/fulfill' \
--header 'x-feature: integ-custom' \
--header 'Content-Type: application/json' \
--header 'api-key: dev_5gY5nna8FN6u9l7H7ilO3ksCW3LkoypGaOLhZV5ScNxfw1lw8xksxWyIFsZsZVTD' \
--data '{
"payout_id":"8fac3092-81e4-4936-b619-713de4281e36"
}'
{
"payout_id": "8fac3092-81e4-4936-b619-713de4281e36",
"merchant_id": "merchant_1745840350",
"amount": 100,
"currency": "EUR",
"connector": "adyenplatform",
"payout_type": "bank",
"payout_method_data": {
"bank": {
"iban": "NL57I********88101",
"bank_name": null,
"bank_country_code": null,
"bank_city": null,
"bic": null
}
},
"billing": {
"address": {
"city": "Hoogeveen",
"country": "NL",
"line1": "Raadhuisplein",
"line2": "92",
"line3": null,
"zip": "7901 BW",
"state": "FL",
"first_name": "John",
"last_name": "Doe"
},
"phone": {
"number": "0650242319",
"country_code": "+31"
},
"email": null
},
"auto_fulfill": false,
"customer_id": "cus_BoR4qowJ8Fa872dKgQLD",
"customer": {
"id": "cus_BoR4qowJ8Fa872dKgQLD",
"name": "John Doe",
"email": "[email protected]",
"phone": "999999999",
"phone_country_code": "+65"
},
"client_secret": "payout_8fac3092-81e4-4936-b619-713de4281e36_secret_LMTGxKqCY3DViNkN3Y5x",
"return_url": null,
"business_country": null,
"business_label": null,
"description": "Its my first payout request",
"entity_type": "Individual",
"recurring": true,
"metadata": {
"ref": "123"
},
"merchant_connector_id": "mca_ZnBgWE1jKXg7Ogzvs0Ha",
"status": "failed",
"error_message": "Unauthorized",
"error_code": "00_401",
"profile_id": "pro_5ue8hhxsHkXzCanhT2CW",
"created": "2025-04-29T06:00:21.535Z",
"connector_transaction_id": null,
"priority": "regular",
"payout_link": null,
"email": "[email protected]",
"name": "John Doe",
"phone": "999999999",
"phone_country_code": "+65",
"unified_code": null,
"unified_message": null,
"payout_method_id": null
}
Checklist
- [ ] I formatted the code
cargo +nightly fmt --all - [ ] I addressed lints thrown by
cargo clippy - [ ] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
Changed Files
PR Does not have any open issue linked to it.