Authorize token custom query parameters

It often required to customize authorize token ulr parameters. For example you may want a mobile version of paypal pages. In this case you would like to change cmd from _express-checkout to _express-checkout-mobile. Or to change "Continue" button to "Pay" on the last paypal's page. To do so you have to send an extra query parameter useraction=commit. So here we would describe ways you can use this.

Static usage.

You can pass these query parameters as api options:

<?php

use Payum\Paypal\ExpressCheckout\Nvp\Api;
use Psr\Http\Client\ClientInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\StreamInterface;
use Psr\Http\Message\StreamInterfacel

/** @var ClientInterface $client */ 
/** @var RequestInterface $requestInterface */
/** @var StreamInterface $streamInterface */

$api = new Api([
    // ...
    'useraction' => Api::USERACTION_COMMIT,
    'cmd' => Api::CMD_EXPRESS_CHECKOUT_MOBILE,
], $client, $requestInterface, $streamInterface);

echo $api->getAuthorizeTokenUrl('aToken');
// https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout-mobile&useraction=commit&token=aToken

Runtime usage.

You could also pass these parameters as a second argument of getAuthorizeTokenUrl method. These parameters will overwrite values passed as options. You could also use second variant to pass any other parameters.

To pass these values using your PaymentDetails models set next fields:


Supporting Payum

Payum is an MIT-licensed open source project with its ongoing development made possible entirely by the support of community and our customers. If you'd like to join them, please consider:

Last updated