Open Monograph Press
3.3.0
|
Protected Member Functions | |
getEndpoint () | |
getEndpoint () | |
![]() | |
createResponse ($data, $statusCode) | |
createResponse ($data, $statusCode) | |
getHttpMethod () | |
getHttpMethod () | |
![]() | |
getCurrencies () | |
getParameter ($key) | |
setParameter ($key, $value) | |
setParameter ($key, $value) | |
Additional Inherited Members | |
![]() | |
const | API_VERSION = 'v1' |
![]() | |
$liveEndpoint = 'https://api.paypal.com' | |
$payerId = null | |
$testEndpoint = 'https://api.sandbox.paypal.com' | |
![]() | |
$currencies | |
$httpClient | |
$httpRequest | |
$negativeAmountAllowed = false | |
$parameters | |
$response | |
$zeroAmountAllowed = true | |
PayPal REST Complete Subscription Request
Use this call to execute an agreement after the buyer approves it.
Note: This request is only necessary for PayPal payments. Billing agreements for credit card payments execute automatically at the time of creation and so this request is not necessary for credit card payments.
Pass the token in the URI of a POST call to execute the subscription agreement after buyer approval. You can find the token in the execute link returned by the request to create a billing agreement.
No other data is required.
To create the agreement, see the code example in RestCreateSubscriptionRequest.
At the completion of a createSubscription call, the customer should be redirected to the redirect URL contained in $response->getRedirectUrl(). Once the customer has approved the agreement and be returned to the returnUrl in the call. The returnUrl can contain the following code to complete the agreement:
// Create a gateway for the PayPal REST Gateway // (routes to GatewayFactory::create) $gateway = Omnipay::create('PayPal_Rest');
// Initialise the gateway $gateway->initialize(array( 'clientId' => 'MyPayPalClientId', 'secret' => 'MyPayPalSecret', 'testMode' => true, // Or false when you are ready for live transactions ));
// Do a complete subscription transaction on the gateway $transaction = $gateway->completeSubscription(array( 'transactionReference' => $subscription_id, )); $response = $transaction->send(); if ($response->isSuccessful()) { echo "Complete Subscription transaction was successful!\n"; $subscription_id = $response->getTransactionReference(); echo "Subscription reference = " . $subscription_id; }
Note that the subscription_id that you get from calling the response's getTransactionReference() method at the end of the completeSubscription call will be different to the one that you got after calling the response's getTransactionReference() method at the end of the createSubscription call. The one that you get from completeSubscription is the correct one to use going forwards (e.g. for cancelling or updating the subscription).
This is from the PayPal web site:
curl -v POST https://api.sandbox.paypal.com/v1/payments/billing-agreements/EC-0JP008296V451950C/agreement-execute \ -H 'Content-Type:application/json' \ -H 'Authorization: Bearer <Access-Token>' \ -d '{}'
This is from the PayPal web site:
{ "id": "I-0LN988D3JACS", "links": [ { "href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS", "rel": "self", "method": "GET" } ] }
RestCreateSubscriptionRequest Omnipay PayPal REST Complete Subscription Request Use this call to execute an agreement after the buyer approves it. Note: This request is only necessary for PayPal payments. Billing agreements for credit card payments execute automatically at the time of creation and so this request is not necessary for credit card payments. autotoc_md68 Request Data Pass the token in the URI of a POST call to execute the subscription agreement after buyer approval. You can find the token in the execute link returned by the request to create a billing agreement. No other data is required. autotoc_md69 Example To create the agreement, see the code example in RestCreateSubscriptionRequest. At the completion of a createSubscription call, the customer should be redirected to the redirect URL contained in $response->getRedirectUrl(). Once the customer has approved the agreement and be returned to the returnUrl in the call. The returnUrl can contain the following code to complete the agreement: // Create a gateway for the PayPal REST Gateway // (routes to GatewayFactory::create) $gateway = Omnipay::create('PayPal_Rest'); // Initialise the gateway $gateway->initialize(array( 'clientId' => 'MyPayPalClientId', 'secret' => 'MyPayPalSecret', 'testMode' => true, // Or false when you are ready for live transactions )); // Do a complete subscription transaction on the gateway $transaction = $gateway->completeSubscription(array( 'transactionReference' => $subscription_id, )); $response = $transaction->send(); if ($response->isSuccessful()) { echo "Complete Subscription transaction was successful!\n"; $subscription_id = $response->getTransactionReference(); echo "Subscription reference = " . $subscription_id; }
Note that the subscription_id that you get from calling the response's getTransactionReference() method at the end of the completeSubscription call will be different to the one that you got after calling the response's getTransactionReference() method at the end of the createSubscription call. The one that you get from completeSubscription is the correct one to use going forwards (e.g. for cancelling or updating the subscription). autotoc_md70 Request Sample This is from the PayPal web site: curl -v POST https://api.sandbox.paypal.com/v1/payments/billing-agreements/EC-0JP008296V451950C/agreement-execute \ -H 'Content-Type:application/json' \ -H 'Authorization: Bearer <Access-Token>' \ -d '{}'
autotoc_md71 Response Sample This is from the PayPal web site: { "id": "I-0LN988D3JACS", "links": [ { "href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS", "rel": "self", "method": "GET" } ] }
https://developer.paypal.com/docs/api/#execute-an-agreement RestCreateSubscriptionRequest Omnipay
Definition at line 98 of file lib/vendor/omnipay/paypal/src/Message/RestCompleteSubscriptionRequest.php.
Omnipay\PayPal\Message\RestCompleteSubscriptionRequest::getData | ( | ) |
Get the raw data array for this message. The format of this varies from gateway to gateway, but will usually be either an associative array, or a SimpleXMLElement.
Implements Omnipay\Common\Message\MessageInterface.
Definition at line 100 of file lib/vendor/omnipay/paypal/src/Message/RestCompleteSubscriptionRequest.php.
References Omnipay\Common\Message\AbstractRequest\validate().
Omnipay\PayPal\Message\RestCompleteSubscriptionRequest::getData | ( | ) |
Get the raw data array for this message. The format of this varies from gateway to gateway, but will usually be either an associative array, or a SimpleXMLElement.
Implements Omnipay\Common\Message\MessageInterface.
Definition at line 100 of file vendor/omnipay/paypal/src/Message/RestCompleteSubscriptionRequest.php.
References Omnipay\Common\Message\AbstractRequest\validate().
|
protected |
Get transaction endpoint.
Subscriptions are executed using the /billing-agreements resource.
Reimplemented from Omnipay\PayPal\Message\AbstractRestRequest.
Definition at line 115 of file vendor/omnipay/paypal/src/Message/RestCompleteSubscriptionRequest.php.
References Omnipay\Common\Message\AbstractRequest\getTransactionReference().
|
protected |
Get transaction endpoint.
Subscriptions are executed using the /billing-agreements resource.
Reimplemented from Omnipay\PayPal\Message\AbstractRestRequest.
Definition at line 115 of file lib/vendor/omnipay/paypal/src/Message/RestCompleteSubscriptionRequest.php.
References Omnipay\Common\Message\AbstractRequest\getTransactionReference().