Champion
17
Views
12
Comments
Solved
Method URL throwing error at the time of consuming API in ODC
Question

Hi Team,

I'm trying to consume stripe API in ODC, when entered correct method URL it's showing me below error.


Same URL is working in OS11, please find below screenshot


When I removing "[]" from URL it's working , See below


There is the URL- https://api.stripe.com/v1/payment_intents?amount={TotalAmount}currency={currency}&metadata[Name]={Name}

Method-Post

Thanks & Regards

Arun

Solution

Hi Arun,

First of all, report this from the ODC Service Studio using the reporting button, if possible (some pop-ups do not allow reporting, so not entirely sure) and otherwise contact OutSystems Support.

You may try, as a workaround, to add an extra parameter, like this:

https://api.stripe.com/v1/payment_intents?amount={TotalAmount}currency={currency}&metadata{MetaName}={Name}

and then set MetaName to "[Name]". Not ideal, so lets hope OutSystems will fix this soon.

Champion

Hi Kilian

I will report this. Thanks 

I already tried below format and it's passed in api url but api not considering this field as metadata after successful execution

https://api.stripe.com/v1/payment_intents?amount={TotalAmount}currency={currency}&metadata{MetaName}={Name}


You should check what URL is actuall called. To do this, set the logging level of the API to Full, and check the Integration Log. Would be interesting to see what is sent.

Champion

The url which mentioned in question is actuall url and in OS11 I'm using same url in live project for making Credit Card payment and it's working fine.

You wrote "I already tried below format and it's passed in api url but api not considering this field as metadata after successful execution" - this is specifically about the workaround, that you claim doesn't work. So I was wondering what the URL looks like, when it is actually sent to the REST service, and you can only check that if you set the logging to Full and then check the logs.

Champion

Hi Kilian,

I wrote I tried in outsystems 11 and it's working fine.

In ODC it's even not accepting URL as you can see in questions.

Sorry, but if you don't want to understand what I'm saying, I can't help you.

Champion

Hi @Arun Rajput 

It's strange same url working fine in OS11 but not in ODC. 

Since they basically reimplemented everything from scratch, that's not that strange, but yeah, it should be supported.

Champion

Hi Kilian,

Yes you are correct it's not strange but what could be reason it's not supporting.

Is there another way to pass metadata field in api so I can try that one also

Just an oversight I guess. See my answer below for a possible workaround.

Solution

Hi Arun,

First of all, report this from the ODC Service Studio using the reporting button, if possible (some pop-ups do not allow reporting, so not entirely sure) and otherwise contact OutSystems Support.

You may try, as a workaround, to add an extra parameter, like this:

https://api.stripe.com/v1/payment_intents?amount={TotalAmount}currency={currency}&metadata{MetaName}={Name}

and then set MetaName to "[Name]". Not ideal, so lets hope OutSystems will fix this soon.

Champion

Hi Kilian

I will report this. Thanks 

I already tried below format and it's passed in api url but api not considering this field as metadata after successful execution

https://api.stripe.com/v1/payment_intents?amount={TotalAmount}currency={currency}&metadata{MetaName}={Name}


You should check what URL is actuall called. To do this, set the logging level of the API to Full, and check the Integration Log. Would be interesting to see what is sent.

Champion

The url which mentioned in question is actuall url and in OS11 I'm using same url in live project for making Credit Card payment and it's working fine.

You wrote "I already tried below format and it's passed in api url but api not considering this field as metadata after successful execution" - this is specifically about the workaround, that you claim doesn't work. So I was wondering what the URL looks like, when it is actually sent to the REST service, and you can only check that if you set the logging to Full and then check the logs.

Champion

Hi Kilian,

I wrote I tried in outsystems 11 and it's working fine.

In ODC it's even not accepting URL as you can see in questions.

Sorry, but if you don't want to understand what I'm saying, I can't help you.

Champion
Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.