Ingenico-ePayments/connect-sdk-dotnet

NO_PAYMENTS_PRODUCTS_AVAILABLE

hhoangnl opened this issue · 4 comments

{
"errorId" : "5e07d8582c10c9eabd6d913200f95956",
"errors" : [ {
"code" : "1406",
"id" : "NO_PAYMENT_PRODUCTS_AVAILABLE",
"category" : "CONNECT_PLATFORM_ERROR",
"message" : "NO_PAYMENT_PRODUCTS_AVAILABLE",
"httpStatusCode" : 400
} ]
}

I get this response a lot in the Sandbox environment. How to resolve this?

You are probably sending in a combination of a currencyCode and a billing countryCode that doesn’t have any payment products configured on our sandbox accounts. Try changing these two properties in your request.

For instance, PostFinance Card is only supported in Switzerland. I used both CHF and CH and get the error.

But basically it means there is no way to test all the mentioned payment products in the sandbox environment...?

{
	"order": {
		"amountOfMoney": {
			"amount": 1000,
			"currencyCode": "CHF"
		},
		"customer": {
		    
			"billingAddress": {
				"countryCode": "CH"
			}
		}
	},
	"redirectPaymentMethodSpecificInput": {
		"redirectionData": {
			"returnUrl": "https://google.com"
		},
		"paymentProductId": 3201
	}
}

You are indeed correct that not all payment products can be tested on our sandbox environment. If you want to test out PostFinance Card I would suggest you get a preproduction account. On such an account you can have any payment product configured.
The purpose of the sandbox is for you to be able to try out the SDKs, the API, webhooks and the behavior of the MyCheckout hosted payment pages. The setup is generic, fixed and just covers the basics.