Skip to main content

Update proposal

Last updated: 10-Dec-2020
Rate this article:

Overview

Use the updateProposal method via JSON-RPC API 6.0 to update the details of a proposal or quote.

Request parameters

Request parameters for the updateProposal method via JSON-RPC API 6.0
Parameters Type Required/Optional Description
proposalId String Required The unique merchant proposal ID generated by the 2Checkout system.
sessionId String Required Unique 2Checkout session ID code.
Name String Optional Proposal name.
UserId String Optional The unique user ID generated by the 2Checkout system.
BillTo Object Optional  The billing details associated with the proposal.
SellTo Object Optional Represents the entity using the service. Used for tax calculation.

Request sample

<?php

require ('PATH_TO_AUTH');

$proposalID = "0573e71d-38bb-4d61-88ca-b3c557517c68";

$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'getProposalById';
$jsonRpcRequest->params = array($sessionID, $proposalID);
$jsonRpcRequest->id = $i++;

try {
    $result = callRPC($jsonRpcRequest, $host);
}
catch (SoapFault $e) {
    echo "Could not fetch proposal: " . $e->getMessage();
    exit;
}

$result->Name = "Updated proposal name";
$result->UserId = "myuser";
$result->BillTo->FirstName = "Billing Contact first name";
$result->BillTo->LastName = "Billing Contact last name";
$result->BillTo->Email = "contact@email.com";
$result->BillTo->Country = "US";
$result->BillTo->State = "California";
$result->BillTo->City = "San Francisco";
$result->BillTo->Address = "Street name No. 9 San Francisco, California";
$result->SellTo->FirstName = "Contact first name";
$result->SellTo->LastName = "Contact last name";
$result->SellTo->Email = "contact@email.com";
$result->SellTo->Country = "US";
$result->SellTo->State = "California";
$result->SellTo->vatCode = "85421564";
$result->SellTo->City = "San Francisco";
$result->SellTo->Address = "Street name No. 5 San Francisco, California";

$jsonRpcRequest = new stdClass();
$jsonRpcRequest->jsonrpc = '2.0';
$jsonRpcRequest->method = 'updateProposal';
$jsonRpcRequest->params = array($sessionID, $result);
$jsonRpcRequest->id = $i++;

try {
    $result = callRPC($jsonRpcRequest, $host);
    echo "Proposal: </br>", 
    var_dump($result);
}
catch (SoapFault $e) {
    echo "Could not fetch proposal: " . $e->getMessage();
    exit;
}

Request sample with prorationDate

<?php

        require ('PATH_TO_AUTH');

        $proposalID = "0573e71d-38bb-4d61-88ca-b3c557517c68";

        $jsonRpcRequest = new stdClass();
        $jsonRpcRequest->jsonrpc = '2.0';
        $jsonRpcRequest->method = 'getProposalById';
        $jsonRpcRequest->params = array($sessionID, $proposalID);
        $jsonRpcRequest->id = $i++;

        try {
            $result = callRPC($jsonRpcRequest, $host);
        }
        catch (SoapFault $e) {
            echo "Could not fetch proposal: " . $e->getMessage();
            exit;
        }
        $result->Content->LineItems[0]->ProrationDate = "2020-11-14T15:28:56+00:00";


        $jsonRpcRequest = new stdClass();
        $jsonRpcRequest->jsonrpc = '2.0';
        $jsonRpcRequest->method = 'updateProposal';
        $jsonRpcRequest->params = array($sessionID, $result);
        $jsonRpcRequest->id = $i++;

        try {
            $result = callRPC($jsonRpcRequest, $host);
            echo "Proposal: </br>",
            var_dump($result);
        }
        catch (SoapFault $e) {
            echo "Could not fetch proposal: " . $e->getMessage();
            exit;
        }

Request sample with vatCode

<?php

        require ('PATH_TO_AUTH');

        $proposalID = "0573e71d-38bb-4d61-88ca-b3c557517c68";

        $jsonRpcRequest = new stdClass();
        $jsonRpcRequest->jsonrpc = '2.0';
        $jsonRpcRequest->method = 'getProposalById';
        $jsonRpcRequest->params = array($sessionID, $proposalID);
        $jsonRpcRequest->id = $i++;

        try {
            $result = callRPC($jsonRpcRequest, $host);
        }
        catch (SoapFault $e) {
            echo "Could not fetch proposal: " . $e->getMessage();
            exit;
        }

        $result->Name = "Updated proposal name";
        $result->UserId = "myuser";
        $result->BillTo->FirstName = "Billing Contact first name";
        $result->BillTo->LastName = "Billing Contact last name";
        $result->BillTo->Email = "contact@email.com";
        $result->BillTo->Country = "US";
        $result->BillTo->State = "California";
        $result->BillTo->City = "San Francisco";
        $result->BillTo->Address = "Street name No. 9 San Francisco, California";
        $result->SellTo->FirstName = "Contact first name";
        $result->SellTo->LastName = "Contact last name";
        $result->SellTo->Email = "contact@email.com";
        $result->SellTo->Country = "US";
        $result->SellTo->State = "California";
        $result->SellTo->vatCode = "85421564";
        $result->SellTo->City = "San Francisco";
        $result->SellTo->Address = "Street name No. 5 San Francisco, California";

        $jsonRpcRequest = new stdClass();
        $jsonRpcRequest->jsonrpc = '2.0';
        $jsonRpcRequest->method = 'updateProposal';
        $jsonRpcRequest->params = array($sessionID, $result);
        $jsonRpcRequest->id = $i++;

        try {
            $result = callRPC($jsonRpcRequest, $host);
            echo "Proposal: </br>", 
            var_dump($result);
        }
        catch (SoapFault $e) {
            echo "Could not fetch proposal: " . $e->getMessage();
            exit;
        }

Request sample with TaxExemptionId

<?php

        require ('PATH_TO_AUTH');

        $proposalID = "0573e71d-38bb-4d61-88ca-b3c557517c68";

        $jsonRpcRequest = new stdClass();
        $jsonRpcRequest->jsonrpc = '2.0';
        $jsonRpcRequest->method = 'getProposalById';
        $jsonRpcRequest->params = array($sessionID, $proposalID);
        $jsonRpcRequest->id = $i++;

        try {
            $result = callRPC($jsonRpcRequest, $host);
        }
        catch (SoapFault $e) {
            echo "Could not fetch proposal: " . $e->getMessage();
            exit;
        }

        $result->Name = "Updated proposal name";
        $result->UserId = "myuser";
        $result->BillTo->FirstName = "Billing Contact first name";
        $result->BillTo->LastName = "Billing Contact last name";
        $result->BillTo->Email = "contact@email.com";
        $result->BillTo->Country = "US";
        $result->BillTo->State = "California";
        $result->BillTo->City = "San Francisco";
        $result->BillTo->Address = "Street name No. 9 San Francisco, California";
        $result->SellTo->FirstName = "Contact first name";
        $result->SellTo->LastName = "Contact last name";
        $result->SellTo->Email = "contact@email.com";
        $result->SellTo->Country = "US";
        $result->SellTo->State = "California";
        $result->SellTo->TaxExemptionId = "85421564";
        $result->SellTo->City = "San Francisco";
        $result->SellTo->Address = "Street name No. 5 San Francisco, California";

        $jsonRpcRequest = new stdClass();
        $jsonRpcRequest->jsonrpc = '2.0';
        $jsonRpcRequest->method = 'updateProposal';
        $jsonRpcRequest->params = array($sessionID, $result);
        $jsonRpcRequest->id = $i++;

        try {
            $result = callRPC($jsonRpcRequest, $host);
            echo "Proposal: </br>", 
            var_dump($result);
        }
        catch (SoapFault $e) {
            echo "Could not fetch proposal: " . $e->getMessage();
            exit;
        }

Response

The updateProposal call via JSON-RPC API 6.0 returns the Proposal object.

Rate this article:

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo