Skip to content
This repository has been archived by the owner on Dec 19, 2019. It is now read-only.

GraphQl-644: [Checkout] Support of "Braintree" payment method #392

Merged

Conversation

pmclain
Copy link
Contributor

@pmclain pmclain commented Feb 23, 2019

Description (*)

#644

Provides prototype for graphql Braintree and Braintree Vault support. Does not currently include support for Braintree Paypal.

Manual testing scenarios (*)

  1. Enable braintree payment method with sandboxed api credentials
  2. Create quote with shipping address, billing address, shipping method.
  3. Set payment method to braintree using valid sandbox nonce, such as nonce in mutation below:
mutation setPaymentMethod($cartId:String!) {
  setPaymentMethodOnCart(input:{
    cart_id:$cartId
    payment_method:{
      code:"braintree"
      purchase_order_number:"n"
      additional_data:{
        braintree:{
          is_active_payment_token_enabler:false
          payment_method_nonce:"fake-valid-nonce"
        }
      }
    }
  }) {
    cart {
      cart_id
    }
  }
}
  1. Trigger order placement of quote following payment method set:

screen shot 2019-02-22 at 10 55 41 pm

screen shot 2019-02-22 at 10 51 11 pm

screen shot 2019-02-22 at 10 49 49 pm

Contribution checklist (*)

  • Pull request has a meaningful description of its purpose
  • All commits are accompanied by meaningful commit messages
  • All new or changed code is covered with unit/integration tests (if applicable)
  • All automated tests passed successfully (all builds on Travis CI are green)

@naydav
Copy link
Contributor

naydav commented Apr 24, 2019

Hello @pmclain ,
Sorry for the delay with the PR processing.
This functionality will have top priority in 2.3.3 release
Thanks

@naydav naydav changed the title Prototype BraintreeGraphQl sans Paypal Prototype BraintreeGraphQl Apr 30, 2019
@naydav naydav changed the title Prototype BraintreeGraphQl GraphQl-644: [Checkout] Support of "Braintree" payment method May 2, 2019
@joni-jones
Copy link
Contributor

It doesn't make sense to call SetPaymentMethodOnCart and PlaceOrder resolvers separately for Braintree (now it's done because PlaceOrder resolver doesn't set payment details). The current flow does place an order through payment-information REST API call which sets payment information and places the order.

The main problem in two separate calls that some data might be changed during these calls, like fraud fingerprints and the payment data won't be actual anymore.

cc @naydav

@pmclain
Copy link
Contributor Author

pmclain commented May 18, 2019

@joni-jones @nadavspi I would like to see a mutation along the lines of setPaymentMethodAndPlaceOrder, but I don't think this PR is the proper forum for that discussion. The current flow of placing the order while setting the payment method is a frontend implementation detail. It's currently possible to set the payment method using the rest API without placing an order if the merchant decides to.

@nadavspi
Copy link

You meant to tag @naydav, but I support this too.

magento-engcom-team pushed a commit that referenced this pull request May 28, 2019
- Added POC for authorzenet based on #392 BraintreeGraphQL prototype
@pmclain pmclain force-pushed the feature/braintree-payment branch 2 times, most recently from 7749580 to 70c0ae0 Compare June 28, 2019 13:32
@pmclain pmclain force-pushed the feature/braintree-payment branch from 70c0ae0 to 05632a8 Compare July 2, 2019 02:20
@naydav
Copy link
Contributor

naydav commented Jul 8, 2019

@TomashKhamlai please check this ticket
Thanks

@naydav naydav added Award: complex Progress: ready for qa Add this in any case when you need some feedback, even if automated tests are failing labels Jul 8, 2019
Deletes configuration data fixtures no longer in use
@pmclain
Copy link
Contributor Author

pmclain commented Jul 30, 2019

@lenaorobei Thanks for taking a look. This has been updated.

@TomashKhamlai TomashKhamlai added QA in progress We are checking and removed QA passed labels Jul 31, 2019
@magento-engcom-team
Copy link
Contributor

Hi @lenaorobei, thank you for the review.
ENGCOM-5527 has been created to process this Pull Request
✳️ @lenaorobei, could you please add one of the following labels to the Pull Request?

Label Description
Auto-Tests: Covered All changes in Pull Request is covered by auto-tests
Auto-Tests: Not Covered Changes in Pull Request requires coverage by auto-tests
Auto-Tests: Not Required Changes in Pull Request does not require coverage by auto-tests

@ghost
Copy link

ghost commented Aug 5, 2019

Hi @pmclain, thank you for your contribution!
Please, complete Contribution Survey, it will take less than a minute.
Your feedback will help us to improve contribution process.

keharper pushed a commit to magento/devdocs that referenced this pull request Aug 19, 2019
* BraintreeGraphQl Workflow

Corresponds to magento/graphql-ce#392

* Update from review feedback
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants