{"action":"created","comment":{"url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/comments/300870921","pull_request_review_id":258628002,"id":300870921,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDMwMDg3MDkyMQ==","diff_hunk":"@@ -0,0 +1,260 @@\n+/** @format */\n+\n+/**\n+ * External dependencies\n+ */\n+import { loadScript } from '@automattic/load-script';\n+import { overSome } from 'lodash';\n+import page from 'page';\n+import debugFactory from 'debug';\n+import React, { useEffect, useState } from 'react';\n+import { localize } from 'i18n-calypso';\n+import { StripeProvider, Elements, injectStripe, CardElement } from 'react-stripe-elements';\n+import Gridicon from 'gridicons';\n+\n+/**\n+ * Internal dependencies\n+ */\n+import notices from 'notices';\n+import wpcom from 'lib/wp';\n+import { paymentMethodClassName, getLocationOrigin } from 'lib/cart-values';\n+import CheckoutTerms from './checkout-terms';\n+import { isWpComBusinessPlan, isWpComEcommercePlan } from 'lib/plans';\n+import PaymentChatButton from './payment-chat-button';\n+import SubscriptionText from './subscription-text';\n+import PaymentCountrySelect from 'components/payment-country-select';\n+\n+const debug = debugFactory( 'calypso:stripe-elements-payment-box' );\n+\n+// TODO: move this to somewhere else\n+const stripeJsUrl = 'https://js.stripe.com/v3/';\n+// TODO: move this to somewhere else\n+const stripeApiKey = 'pk_test_12345';\n+\n+function useStripeJs( url, apiKey ) {\n+\tconst [ stripeJs, setStripeJs ] = useState( null );\n+\tuseEffect( () => {\n+\t\tif ( window.Stripe ) {\n+\t\t\tdebug( 'stripe.js already loaded' );\n+\t\t\tsetStripeJs( window.Stripe( apiKey ) );\n+\t\t\treturn;\n+\t\t}\n+\t\tdebug( 'loading stripe.js...' );\n+\t\tloadScript( url, function( error ) {\n+\t\t\tif ( error ) {\n+\t\t\t\tdebug( 'stripe.js script ' + error.src + ' failed to load.' );\n+\t\t\t\treturn;\n+\t\t\t}\n+\t\t\tdebug( 'stripe.js loaded!' );\n+\t\t\tsetStripeJs( window.Stripe( apiKey ) );\n+\t\t} );\n+\t}, [ url, apiKey ] );\n+\treturn stripeJs;\n+}\n+\n+async function submitPaymentForm( { stripe, paymentDetails, cart, transaction } ) {\n+\tconst stripePaymentMethod = await createStripePaymentMethod( stripe, paymentDetails );\n+\treturn sendStripePaymentMethodToStore( {\n+\t\tcart,\n+\t\ttransaction,\n+\t\tpaymentDetails,\n+\t\tstripePaymentMethod,\n+\t} );\n+}\n+\n+async function createStripePaymentMethod( stripe, paymentDetails ) {\n+\tdebug( 'creating payment method...', paymentDetails );\n+\tconst { paymentMethod, error } = await stripe.createPaymentMethod( 'card', {\n+\t\tbilling_details: paymentDetails,\n+\t} );\n+\tdebug( 'payment method creation complete', paymentMethod, error );\n+\tif ( error ) {\n+\t\t// Note that this is a promise rejection\n+\t\tthrow new Error( error.message );\n+\t}\n+\treturn paymentMethod;\n+}\n+\n+async function handleStripeAction( stripe, stripeResponse, orderId, redirectTo ) {\n+\tconst {\n+\t\terror: errorAction\n+\t} = await stripe.handleCardPayment(\n+\t\tstripeResponse.payment_intent_client_secret\n+\t);\n+\n+\tif ( errorAction ) {\n+\t\t// Show error from Stripe.js in payment form\n+\t} else {\n+\t\tconst origin = getLocationOrigin( window.location );\n+\t\tconst redirectPath = redirectTo().replace( ':receiptId', '');\n+\t\tpage( origin + redirectPath + 'pending/' + orderId );\n+\t}\n+}\n+\n+async function sendStripePaymentMethodToStore( {\n+\tcart,\n+\ttransaction,\n+\tpaymentDetails,\n+\tstripePaymentMethod,\n+} ) {\n+\tconst dataForApi = {\n+\t\tpayment: Object.assign( {}, paymentDetails, {\n+\t\t\tpaymentMethod: paymentMethodClassName( 'stripe' ),\n+\t\t\tpaymentKey: stripePaymentMethod.id,\n+\t\t\tsuccessUrl: '/',\n+\t\t\tcancelUrl: '/',\n+\t\t} ),\n+\t\tcart,\n+\t\tdomain_details: transaction.domainDetails,\n+\t};\n+\n+\treturn wpcom.undocumented().transactions( 'POST', dataForApi );\n+}\n+\n+function StripeElementsForm( {\n+\ttranslate,\n+\tstripe,\n+\tcart,\n+\ttransaction,\n+\tchildren,\n+\tcountriesList,\n+\tredirectTo,\n+\tpresaleChatAvailable,\n+} ) {\n+\t// TODO: allow disabling the payment button during processing or when not ready\n+\tconst [ cardholderName, setCardholderName ] = useState( '' );\n+\tconst onNameChange = event => setCardholderName( event.target.value );\n+\tconst handleSubmit = event => {\n+\t\tevent.preventDefault();\n+\t\tsubmitPaymentForm( {\n+\t\t\tstripe,\n+\t\t\tcart,\n+\t\t\ttransaction,\n+\t\t\tpaymentDetails: {\n+\t\t\t\tname: cardholderName,\n+\t\t\t},\n+\t\t} )\n+\t\t\t.then( result => {\n+\t\t\t\tif ( result.message )  {\n+\t\t\t\t\thandleStripeAction( stripe, result.message, result.order_id, redirectTo );\n+\t\t\t\t} else if ( result.redirect_url ) {\n+\t\t\t\t\tnotices.success(\n+\t\t\t\t\t\ttranslate( 'Redirecting you to the payment partner to complete the payment.' )\n+\t\t\t\t\t);\n+\t\t\t\t\twindow.location.href = result.redirect_url;\n+\t\t\t\t}\n+\t\t\t\t// TODO: what if there is no redirect_url?","path":"client/my-sites/checkout/checkout/stripe-elements-payment-box.jsx","position":153,"original_position":146,"commit_id":"19adbd5c4afc3bdef0b2ba3a75b1628c36e05234","original_commit_id":"9437524c7c94c0ba4d4935c772e9a31e12d20f1b","user":{"login":"yoavf","id":844866,"node_id":"MDQ6VXNlcjg0NDg2Ng==","avatar_url":"https://avatars3.githubusercontent.com/u/844866?v=4","gravatar_id":"","url":"https://api.github.com/users/yoavf","html_url":"https://github.com/yoavf","followers_url":"https://api.github.com/users/yoavf/followers","following_url":"https://api.github.com/users/yoavf/following{/other_user}","gists_url":"https://api.github.com/users/yoavf/gists{/gist_id}","starred_url":"https://api.github.com/users/yoavf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yoavf/subscriptions","organizations_url":"https://api.github.com/users/yoavf/orgs","repos_url":"https://api.github.com/users/yoavf/repos","events_url":"https://api.github.com/users/yoavf/events{/privacy}","received_events_url":"https://api.github.com/users/yoavf/received_events","type":"User","site_admin":false},"body":"We won't be using the redirect_Url  in this payment box since we won't be redirecting to an external URL. Stripe.js will use the `message` property we'll pass to `handleStripeAction` to take care of the authentication.\r\n\r\nHowever, if there's no `message` property (and we get a success:true, and a receipt id), then we have a successful CC payment that doesn't require authentication, and we just need to redirect to the success page.\r\n\r\n","created_at":"2019-07-07T14:45:41Z","updated_at":"2019-07-07T14:45:51Z","html_url":"https://github.com/Automattic/wp-calypso/pull/34469#discussion_r300870921","pull_request_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/34469","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/Automattic/wp-calypso/pulls/comments/300870921"},"html":{"href":"https://github.com/Automattic/wp-calypso/pull/34469#discussion_r300870921"},"pull_request":{"href":"https://api.github.com/repos/Automattic/wp-calypso/pulls/34469"}}},"pull_request":{"url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/34469","id":294702984,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjk0NzAyOTg0","html_url":"https://github.com/Automattic/wp-calypso/pull/34469","diff_url":"https://github.com/Automattic/wp-calypso/pull/34469.diff","patch_url":"https://github.com/Automattic/wp-calypso/pull/34469.patch","issue_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/34469","number":34469,"state":"open","locked":false,"title":"Checkout: add stripe elements form","user":{"login":"sirbrillig","id":2036909,"node_id":"MDQ6VXNlcjIwMzY5MDk=","avatar_url":"https://avatars2.githubusercontent.com/u/2036909?v=4","gravatar_id":"","url":"https://api.github.com/users/sirbrillig","html_url":"https://github.com/sirbrillig","followers_url":"https://api.github.com/users/sirbrillig/followers","following_url":"https://api.github.com/users/sirbrillig/following{/other_user}","gists_url":"https://api.github.com/users/sirbrillig/gists{/gist_id}","starred_url":"https://api.github.com/users/sirbrillig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sirbrillig/subscriptions","organizations_url":"https://api.github.com/users/sirbrillig/orgs","repos_url":"https://api.github.com/users/sirbrillig/repos","events_url":"https://api.github.com/users/sirbrillig/events{/privacy}","received_events_url":"https://api.github.com/users/sirbrillig/received_events","type":"User","site_admin":false},"body":"#### Changes proposed in this Pull Request\r\n\r\nThis adds a new credit card checkout form, currently behind a feature flag, which uses Stripe Elements and the new Payment Methods API. \r\n\r\n![Screen Shot 2019-07-05 at 5 45 51 PM](https://user-images.githubusercontent.com/2036909/60746458-d74d2980-9f4c-11e9-8509-aba9d22fdce3.png)\r\n\r\nThere’s still quite a lot of work to do here, and some unrelated commits which will spin off to their own PRs. \r\n\r\n- [ ] Make sure the transactions endpoint accepts the payment method.\r\n- [ ] Match the design of the CC field to the other fields (eg: thin border).\r\n- [ ] Disable the submit button when Stripe or the CC field are loading and after clicking it for submission.\r\n- [ ] Fetch the Stripe API key from an endpoint.\r\n- [ ] Determine where to store the Stripe JS url fetched by the page.\r\n- [ ] Add handling for when the transactions endpoint returns various responses.\r\n- [x] Add country form field.\r\n- [ ] Use country form field to toggle Stripe API key.\r\n- [x] Add subscription length toggle to form (1 year, 2 years) and make sure it changes the page (price, etc.).","created_at":"2019-07-05T00:32:21Z","updated_at":"2019-07-07T14:45:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c3a4df940451584cf2a91e788b20f67013a99521","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/34469/commits","review_comments_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/34469/comments","review_comment_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/34469/comments","statuses_url":"https://api.github.com/repos/Automattic/wp-calypso/statuses/19adbd5c4afc3bdef0b2ba3a75b1628c36e05234","head":{"label":"Automattic:add/stripe-elements-checkout","ref":"add/stripe-elements-checkout","sha":"19adbd5c4afc3bdef0b2ba3a75b1628c36e05234","user":{"login":"Automattic","id":887802,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg4NzgwMg==","avatar_url":"https://avatars1.githubusercontent.com/u/887802?v=4","gravatar_id":"","url":"https://api.github.com/users/Automattic","html_url":"https://github.com/Automattic","followers_url":"https://api.github.com/users/Automattic/followers","following_url":"https://api.github.com/users/Automattic/following{/other_user}","gists_url":"https://api.github.com/users/Automattic/gists{/gist_id}","starred_url":"https://api.github.com/users/Automattic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Automattic/subscriptions","organizations_url":"https://api.github.com/users/Automattic/orgs","repos_url":"https://api.github.com/users/Automattic/repos","events_url":"https://api.github.com/users/Automattic/events{/privacy}","received_events_url":"https://api.github.com/users/Automattic/received_events","type":"Organization","site_admin":false},"repo":{"id":45936895,"node_id":"MDEwOlJlcG9zaXRvcnk0NTkzNjg5NQ==","name":"wp-calypso","full_name":"Automattic/wp-calypso","private":false,"owner":{"login":"Automattic","id":887802,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg4NzgwMg==","avatar_url":"https://avatars1.githubusercontent.com/u/887802?v=4","gravatar_id":"","url":"https://api.github.com/users/Automattic","html_url":"https://github.com/Automattic","followers_url":"https://api.github.com/users/Automattic/followers","following_url":"https://api.github.com/users/Automattic/following{/other_user}","gists_url":"https://api.github.com/users/Automattic/gists{/gist_id}","starred_url":"https://api.github.com/users/Automattic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Automattic/subscriptions","organizations_url":"https://api.github.com/users/Automattic/orgs","repos_url":"https://api.github.com/users/Automattic/repos","events_url":"https://api.github.com/users/Automattic/events{/privacy}","received_events_url":"https://api.github.com/users/Automattic/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Automattic/wp-calypso","description":"The JavaScript and API powered WordPress.com","fork":false,"url":"https://api.github.com/repos/Automattic/wp-calypso","forks_url":"https://api.github.com/repos/Automattic/wp-calypso/forks","keys_url":"https://api.github.com/repos/Automattic/wp-calypso/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Automattic/wp-calypso/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Automattic/wp-calypso/teams","hooks_url":"https://api.github.com/repos/Automattic/wp-calypso/hooks","issue_events_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/events{/number}","events_url":"https://api.github.com/repos/Automattic/wp-calypso/events","assignees_url":"https://api.github.com/repos/Automattic/wp-calypso/assignees{/user}","branches_url":"https://api.github.com/repos/Automattic/wp-calypso/branches{/branch}","tags_url":"https://api.github.com/repos/Automattic/wp-calypso/tags","blobs_url":"https://api.github.com/repos/Automattic/wp-calypso/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Automattic/wp-calypso/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Automattic/wp-calypso/git/refs{/sha}","trees_url":"https://api.github.com/repos/Automattic/wp-calypso/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Automattic/wp-calypso/statuses/{sha}","languages_url":"https://api.github.com/repos/Automattic/wp-calypso/languages","stargazers_url":"https://api.github.com/repos/Automattic/wp-calypso/stargazers","contributors_url":"https://api.github.com/repos/Automattic/wp-calypso/contributors","subscribers_url":"https://api.github.com/repos/Automattic/wp-calypso/subscribers","subscription_url":"https://api.github.com/repos/Automattic/wp-calypso/subscription","commits_url":"https://api.github.com/repos/Automattic/wp-calypso/commits{/sha}","git_commits_url":"https://api.github.com/repos/Automattic/wp-calypso/git/commits{/sha}","comments_url":"https://api.github.com/repos/Automattic/wp-calypso/comments{/number}","issue_comment_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/comments{/number}","contents_url":"https://api.github.com/repos/Automattic/wp-calypso/contents/{+path}","compare_url":"https://api.github.com/repos/Automattic/wp-calypso/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Automattic/wp-calypso/merges","archive_url":"https://api.github.com/repos/Automattic/wp-calypso/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Automattic/wp-calypso/downloads","issues_url":"https://api.github.com/repos/Automattic/wp-calypso/issues{/number}","pulls_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls{/number}","milestones_url":"https://api.github.com/repos/Automattic/wp-calypso/milestones{/number}","notifications_url":"https://api.github.com/repos/Automattic/wp-calypso/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Automattic/wp-calypso/labels{/name}","releases_url":"https://api.github.com/repos/Automattic/wp-calypso/releases{/id}","deployments_url":"https://api.github.com/repos/Automattic/wp-calypso/deployments","created_at":"2015-11-10T20:00:16Z","updated_at":"2019-07-07T12:45:14Z","pushed_at":"2019-07-07T14:19:00Z","git_url":"git://github.com/Automattic/wp-calypso.git","ssh_url":"git@github.com:Automattic/wp-calypso.git","clone_url":"https://github.com/Automattic/wp-calypso.git","svn_url":"https://github.com/Automattic/wp-calypso","homepage":"https://developer.wordpress.com/calypso/","size":145960,"stargazers_count":11073,"watchers_count":11073,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1607,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1951,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0","node_id":"MDc6TGljZW5zZTg="},"forks":1607,"open_issues":1951,"watchers":11073,"default_branch":"master"}},"base":{"label":"Automattic:master","ref":"master","sha":"3e0789aa88b57fd4b922d0aae9f52337f988145c","user":{"login":"Automattic","id":887802,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg4NzgwMg==","avatar_url":"https://avatars1.githubusercontent.com/u/887802?v=4","gravatar_id":"","url":"https://api.github.com/users/Automattic","html_url":"https://github.com/Automattic","followers_url":"https://api.github.com/users/Automattic/followers","following_url":"https://api.github.com/users/Automattic/following{/other_user}","gists_url":"https://api.github.com/users/Automattic/gists{/gist_id}","starred_url":"https://api.github.com/users/Automattic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Automattic/subscriptions","organizations_url":"https://api.github.com/users/Automattic/orgs","repos_url":"https://api.github.com/users/Automattic/repos","events_url":"https://api.github.com/users/Automattic/events{/privacy}","received_events_url":"https://api.github.com/users/Automattic/received_events","type":"Organization","site_admin":false},"repo":{"id":45936895,"node_id":"MDEwOlJlcG9zaXRvcnk0NTkzNjg5NQ==","name":"wp-calypso","full_name":"Automattic/wp-calypso","private":false,"owner":{"login":"Automattic","id":887802,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg4NzgwMg==","avatar_url":"https://avatars1.githubusercontent.com/u/887802?v=4","gravatar_id":"","url":"https://api.github.com/users/Automattic","html_url":"https://github.com/Automattic","followers_url":"https://api.github.com/users/Automattic/followers","following_url":"https://api.github.com/users/Automattic/following{/other_user}","gists_url":"https://api.github.com/users/Automattic/gists{/gist_id}","starred_url":"https://api.github.com/users/Automattic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Automattic/subscriptions","organizations_url":"https://api.github.com/users/Automattic/orgs","repos_url":"https://api.github.com/users/Automattic/repos","events_url":"https://api.github.com/users/Automattic/events{/privacy}","received_events_url":"https://api.github.com/users/Automattic/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/Automattic/wp-calypso","description":"The JavaScript and API powered WordPress.com","fork":false,"url":"https://api.github.com/repos/Automattic/wp-calypso","forks_url":"https://api.github.com/repos/Automattic/wp-calypso/forks","keys_url":"https://api.github.com/repos/Automattic/wp-calypso/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Automattic/wp-calypso/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Automattic/wp-calypso/teams","hooks_url":"https://api.github.com/repos/Automattic/wp-calypso/hooks","issue_events_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/events{/number}","events_url":"https://api.github.com/repos/Automattic/wp-calypso/events","assignees_url":"https://api.github.com/repos/Automattic/wp-calypso/assignees{/user}","branches_url":"https://api.github.com/repos/Automattic/wp-calypso/branches{/branch}","tags_url":"https://api.github.com/repos/Automattic/wp-calypso/tags","blobs_url":"https://api.github.com/repos/Automattic/wp-calypso/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Automattic/wp-calypso/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Automattic/wp-calypso/git/refs{/sha}","trees_url":"https://api.github.com/repos/Automattic/wp-calypso/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Automattic/wp-calypso/statuses/{sha}","languages_url":"https://api.github.com/repos/Automattic/wp-calypso/languages","stargazers_url":"https://api.github.com/repos/Automattic/wp-calypso/stargazers","contributors_url":"https://api.github.com/repos/Automattic/wp-calypso/contributors","subscribers_url":"https://api.github.com/repos/Automattic/wp-calypso/subscribers","subscription_url":"https://api.github.com/repos/Automattic/wp-calypso/subscription","commits_url":"https://api.github.com/repos/Automattic/wp-calypso/commits{/sha}","git_commits_url":"https://api.github.com/repos/Automattic/wp-calypso/git/commits{/sha}","comments_url":"https://api.github.com/repos/Automattic/wp-calypso/comments{/number}","issue_comment_url":"https://api.github.com/repos/Automattic/wp-calypso/issues/comments{/number}","contents_url":"https://api.github.com/repos/Automattic/wp-calypso/contents/{+path}","compare_url":"https://api.github.com/repos/Automattic/wp-calypso/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Automattic/wp-calypso/merges","archive_url":"https://api.github.com/repos/Automattic/wp-calypso/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Automattic/wp-calypso/downloads","issues_url":"https://api.github.com/repos/Automattic/wp-calypso/issues{/number}","pulls_url":"https://api.github.com/repos/Automattic/wp-calypso/pulls{/number}","milestones_url":"https://api.github.com/repos/Automattic/wp-calypso/milestones{/number}","notifications_url":"https://api.github.com/repos/Automattic/wp-calypso/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Automattic/wp-calypso/labels{/name}","releases_url":"https://api.github.com/repos/Automattic/wp-calypso/releases{/id}","deployments_url":"https://api.github.com/repos/Automattic/wp-calypso/deployments","created_at":"2015-11-10T20:00:16Z","updated_at":"2019-07-07T12:45:14Z","pushed_at":"2019-07-07T14:19:00Z","git_url":"git://github.com/Automattic/wp-calypso.git","ssh_url":"git@github.com:Automattic/wp-calypso.git","clone_url":"https://github.com/Automattic/wp-calypso.git","svn_url":"https://github.com/Automattic/wp-calypso","homepage":"https://developer.wordpress.com/calypso/","size":145960,"stargazers_count":11073,"watchers_count":11073,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1607,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":1951,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0","node_id":"MDc6TGljZW5zZTg="},"forks":1607,"open_issues":1951,"watchers":11073,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Automattic/wp-calypso/pulls/34469"},"html":{"href":"https://github.com/Automattic/wp-calypso/pull/34469"},"issue":{"href":"https://api.github.com/repos/Automattic/wp-calypso/issues/34469"},"comments":{"href":"https://api.github.com/repos/Automattic/wp-calypso/issues/34469/comments"},"review_comments":{"href":"https://api.github.com/repos/Automattic/wp-calypso/pulls/34469/comments"},"review_comment":{"href":"https://api.github.com/repos/Automattic/wp-calypso/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Automattic/wp-calypso/pulls/34469/commits"},"statuses":{"href":"https://api.github.com/repos/Automattic/wp-calypso/statuses/19adbd5c4afc3bdef0b2ba3a75b1628c36e05234"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"yoavf"}}