| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306 |
- <?php
- namespace Srmklive\PayPal\Tests\Mocks\Responses;
- use GuzzleHttp\Utils;
- trait BillingPlans
- {
- /**
- * @return array
- */
- private function mockCreatePlansResponse(): array
- {
- return Utils::jsonDecode('{
- "id": "P-5ML4271244454362WXNWU5NQ",
- "product_id": "PROD-XXCD1234QWER65782",
- "name": "Video Streaming Service Plan",
- "description": "Video Streaming Service basic plan",
- "status": "ACTIVE",
- "billing_cycles": [
- {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
- },
- "tenure_type": "TRIAL",
- "sequence": 1,
- "total_cycles": 2,
- "pricing_scheme": {
- "fixed_price": {
- "value": "3",
- "currency_code": "USD"
- },
- "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
- }
- },
- {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
- },
- "tenure_type": "TRIAL",
- "sequence": 2,
- "total_cycles": 3,
- "pricing_scheme": {
- "fixed_price": {
- "currency_code": "USD",
- "value": "6"
- },
- "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
- }
- },
- {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
- },
- "tenure_type": "REGULAR",
- "sequence": 3,
- "total_cycles": 12,
- "pricing_scheme": {
- "fixed_price": {
- "currency_code": "USD",
- "value": "10"
- },
- "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
- }
- }
- ],
- "payment_preferences": {
- "auto_bill_outstanding": true,
- "setup_fee": {
- "value": "10",
- "currency_code": "USD"
- },
- "setup_fee_failure_action": "CONTINUE",
- "payment_failure_threshold": 3
- },
- "taxes": {
- "percentage": "10",
- "inclusive": false
- },
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z",
- "links": [
- {
- "href": "https://api.paypal.com/v1/billing/plans/P-5ML4271244454362WXNWU5NQ",
- "rel": "self",
- "method": "GET"
- },
- {
- "href": "https://api.paypal.com/v1/billing/plans/P-5ML4271244454362WXNWU5NQ",
- "rel": "edit",
- "method": "PATCH"
- },
- {
- "href": "https://api.paypal.com/v1/billing/plans/P-5ML4271244454362WXNWU5NQ/deactivate",
- "rel": "deactivate",
- "method": "POST"
- },
- {
- "href": "https://api.paypal.com/v1/billing/plans/P-5ML4271244454362WXNWU5NQ/update-pricing-schemes",
- "rel": "edit",
- "method": "POST"
- }
- ]
- }', true);
- }
- /**
- * @return array
- */
- private function mockListPlansResponse(): array
- {
- return Utils::jsonDecode('{
- "total_items": 12,
- "total_pages": 6,
- "plans": [
- {
- "id": "P-5ML4271244454362WXNWU5NQ",
- "product_id": "PROD-XXCD1234QWER65782",
- "status": "ACTIVE",
- "name": "Zoho Marketing Campaign Plan",
- "description": "Zoho Marketing Campaign Plan",
- "create_time": "2018-12-10T21:20:49Z",
- "links": [
- {
- "href": "https://api.paypal.com/v1/billing/plans/P-5ML4271244454362WXNWU5NQ",
- "rel": "self",
- "method": "GET"
- }
- ]
- },
- {
- "id": "P-6LL4271454454362WXNWU5NQ",
- "product_id": "PROD-XXCD1234QWER65782",
- "status": "ACTIVE",
- "name": "Zoho Marketing Campaign Basic Plan",
- "description": "Zoho Marketing Campaign Plan",
- "create_time": "2019-01-10T21:20:49Z",
- "links": [
- {
- "href": "https://api.paypal.com/v1/billing/plans/P-6LL4271454454362WXNWU5NQ",
- "rel": "self",
- "method": "GET"
- }
- ]
- }
- ],
- "links": [
- {
- "href": "https://api.paypal.com/v1/billing/plans?product_id=PROD-XXCD1234QWER65782&page_size=2&page=1",
- "rel": "self",
- "method": "GET"
- },
- {
- "href": "https://api.paypal.com/v1/billing/plans?product_id=PROD-XXCD1234QWER65782&page_size=2&page=1",
- "rel": "first",
- "method": "GET"
- },
- {
- "href": "https://api.paypal.com/v1/billing/plans?product_id=PROD-XXCD1234QWER65782&page_size=2&page=2",
- "rel": "next",
- "method": "GET"
- },
- {
- "href": "https://api.paypal.com/v1/billing/plans?product_id=PROD-XXCD1234QWER65782&page_size=2&page=6",
- "rel": "last",
- "method": "GET"
- }
- ]
- }', true);
- }
- /**
- * @return array
- */
- private function mockGetPlansResponse(): array
- {
- return Utils::jsonDecode('{
- "id": "P-5ML4271244454362WXNWU5NQ",
- "product_id": "PROD-XXCD1234QWER65782",
- "name": "Basic Plan",
- "description": "Basic Plan",
- "status": "ACTIVE",
- "billing_cycles": [
- {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
- },
- "tenure_type": "TRIAL",
- "sequence": 1,
- "total_cycles": 2,
- "pricing_scheme": {
- "fixed_price": {
- "currency_code": "USD",
- "value": "3"
- },
- "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
- }
- },
- {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
- },
- "tenure_type": "TRIAL",
- "sequence": 2,
- "total_cycles": 3,
- "pricing_scheme": {
- "fixed_price": {
- "currency_code": "USD",
- "value": "6"
- },
- "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
- }
- },
- {
- "frequency": {
- "interval_unit": "MONTH",
- "interval_count": 1
- },
- "tenure_type": "REGULAR",
- "sequence": 3,
- "total_cycles": 12,
- "pricing_scheme": {
- "fixed_price": {
- "value": "10",
- "currency_code": "USD"
- },
- "status": "ACTIVE",
- "version": 1,
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z"
- }
- }
- ],
- "taxes": {
- "percentage": "10",
- "inclusive": false
- },
- "create_time": "2020-05-27T12:13:51Z",
- "update_time": "2020-05-27T12:13:51Z",
- "links": [
- {
- "href": "https://api.paypal.com/v1/billing/plans/P-5ML4271244454362WXNWU5NQ",
- "rel": "self",
- "method": "GET"
- },
- {
- "href": "https://api.paypal.com/v1/billing/plans/P-5ML4271244454362WXNWU5NQ",
- "rel": "edit",
- "method": "PATCH"
- },
- {
- "href": "https://api.paypal.com/v1/billing/plans/P-5ML4271244454362WXNWU5NQ/deactivate",
- "rel": "deactivate",
- "method": "POST"
- },
- {
- "href": "https://api.paypal.com/v1/billing/plans/P-5ML4271244454362WXNWU5NQ/update-pricing-schemes",
- "rel": "edit",
- "method": "POST"
- }
- ]
- }', true);
- }
- /**
- * @return array
- */
- private function mockCreatePlansErrorResponse(): array
- {
- return Utils::jsonDecode('{
- "error": {
- "name" : "UNPROCESSABLE_ENTITY",
- "message" : "The requested action could not be performed, semantically incorrect, or failed business validation.",
- "debug_id" : "7a944631e76bf",
- "details" : [
- {
- "issue" : "CURRENCY_NOT_SUPPORTED_FOR_RECEIVER",
- "description" : "This currency cannot be accepted for this recipient\'s account."
- }
- ],
- "links" : [
- {
- "href" : "https://developer.paypal.com/docs/api/v1/billing/subscriptions#UNPROCESSABLE_ENTITY",
- "rel" : "information_link",
- "method" : "GET"
- }
- ]
- }
- }', true);
- }
- }
|