PayPal PayFlow Pro Reporting API returning 110 Invalid merchant account

276 Views Asked by At

I'm trying to write a script to search the PayPal PayFlow Reporting tool in ColdFusion and I'm stuck in the connection part of this. The response I'm getting back is this:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<reportingEngineResponse>
    <baseResponse>
        <responseCode>110</responseCode>
        <responseMsg>Invalid merchant account</responseMsg>
    </baseResponse>
</reportingEngineResponse> 

This is the exact same password combo I'm using to process payments so I know that the vendor,username, password, partner are all correct. I'm not sure if the XML isn't right, or if I'm sending the XML in incorrectly from BlueDragon (ColdFusion).

This is what my code currently looks like, and I'm trying to pull information from my recurring profile for this account ID.

<cfparam name="payPalServerSearch" default="https://payments-reports.paypal.com/reportingengine">

<cfsavecontent variable="req"><cfoutput>
<?xml version="1.0" encoding="UTF-8"?>
<reportingEngineRequest>
    <authRequest>
        <user>#payPalUsername#</user>
        <vendor>#payPalVendor#</vendor>
        <partner>#payPalPartner#</partner>
        <password>#payPalPassword#</password>
    </authRequest>

    <runSearchRequest>
        <searchName>RecurringBillingSearch</searchName>

        <reportParam>
            <paramName>profile_id</paramName>
            <paramValue>I-1234567890</paramValue>
        </reportParam>

        <pageSize>50</pageSize>
    </runSearchRequest>
</reportingEngineRequest>
</cfoutput></cfsavecontent>

<cfset req = trim(req)>

<cfhttp url="#payPalServerSearch#" method="post">
    <cfhttpparam type="body" value="#req#">
</cfhttp>
1

There are 1 best solutions below

1
On

You are passing in the profile ID parameter value of I-1234567890 and you are running Live environment based on the URL you are posting "https://payments-reports.paypal.com/reportingengine"

Is this a valid profile ID? I get that the Invalid Merchant account might not be the issue of Profile ID being passed as parameter, but can you try to make sure if it is valid one first and try to run the API call again?