title: Workflow Confusion: PayPal Cordova Plugin / Magento
body: <p>I am a little bit confused by the Cordova plugin by PayPal in terms of what this means for implementing a safe workflow for interacting with a Magento instance.</p>
  
  <p>Normally, the Express Checkout workflow looks like this:</p>
  
  <ol>
  <li>Customer visits Magento Site checkout</li>
  <li>Customer is directed to PayPal</li>
  <li>Customer is returned to Magento Site</li>
  <li>Customer clicks 'Place Order' on Magento Site</li>
  <li>Magento Site converts quote to order</li>
  <li>Magento Site accesses PayPal to capture / confirm funds, check for possible fraud, etc...</li>
  </ol>
  
  <p>The workflow imposed by the Cordova plugin appears to be like this:</p>
  
  <ol>
  <li>Customer visits App checkout</li>
  <li>Customer is directed to PayPal</li>
  <li>Payment is authorized or captured based upon the configuration</li>
  <li>Customer is directed back to App</li>
  <li>App executes a success handler</li>
  </ol>
  
  <p>In the above Cordova Plugin workflow, notice that the step where a quote to order conversion is missing.  From my perspective, I see two options:</p>
  
  <p><strong>Insert quote -> order conversion call between 2 and 3</strong></p>
  
  <p>Caveats:</p>
  
  <ol>
  <li>The customer may not complete checkout and now an order is permanently orphaned in the system</li>
  <li>The customer may wish to change something (which now can't happen -- orders can't be modified)</li>
  </ol>
  
  <p><strong>Insert quote -> order conversion call after 5</strong></p>
  
  <p>Caveats:</p>
  
  <ol>
  <li>The client is being trusted to notify the server that the payment was made (which requires server-side cross-examination with PayPal / additional complexity)</li>
  <li>The client <strong>may never actually send the notification</strong>.</li>
  </ol>
  
  <p>I do not like any of the options presented above.  Can anyone help clear up my confusion or show me what I hope that I'm missing?</p>