Update Your Payment Resource

After the buyer selects a PayPal-provided payment method, issue a request to update the payment with buyer-specific data. You can also optionally update the amount.

Important: When replacing values, make sure to submit all properties you wish to keep. The update uses a PATCH call that replaces the entire object, not just the individual value.

Sample request

[0] => Array
    (
        [op] => replace
        [path] => /transactions/0/amount
        [value] => Array
            (
                [total] => 0.01
                [currency] => EUR
                [details] => Array
                    (
                        [subtotal] => 4.99
                        [shipping] => 1.00
                        [shipping_discount] => -5.98
                    )

[1] => Array
    (
        [op] => add
        [path] => /transactions/0/item_list/shipping_address
        [value] => Array
            (
                [recipient_name] => Max Mustermann
                [line1] => Lieferstr. 1
                [city] => Berlin
                [country_code] => DE
                [postal_code] => 12345
            )

[2] => Array
    (
        [op] => add
        [path] => /payer/payer_info
        [value] => Array
            (
                [first_name] => Max
                [last_name] => Mustermann
                [email] => max@mustermann.com
                [billing_address] => Array
                    (
                        [line1] => Lieferstr. 1
                        [city] => Berlin
                        [country_code] => DE
                        [postal_code] => 12345
                    )
            )

The response returns the updated payment resource.

Redirect to authorize payment

Depending on the selected payment method, the user is directed to the correct landing page: PayPal Login, Credit Card, or ELV or invoice details. This redirect is initiated by the inside button or by the PAYPAL.apps.PPP.doCheckout function in the Continue button.

After completion, the user is returned to the return_url defined in the create payment call.

Next

Execute the payment.