Updated: Comment #N

Problem/Motivation

Some contexts do not accommodate disruptions in their workflow, such as creating core entities, Webforms, etc. To allow people to make payments in these contexts, a payment reference form element was developed that handled the entire payment workflow in a separate window/tab. However, for sites that only offer payment methods that process payments inline (e.g. do not redirect the user off-site) this is overkill and not user friendly.

Proposed resolution

  • Let payment method plugins specify if they interrupt the regular workflow when they execute a payment.
  • Use inline entity forms to display payment forms, or leverage #2182263: Attach field form elements to payment forms, if the selected payment method does not disrupt the workflow. Use the existing new-window-approach if it does.

Remaining tasks

...

User interface changes

Minor with backwards compatibility.

API changes

None.

Original report

The payment reference widget uses a separate ab/window for processing payments, which should be a more user friendly workflow if payment methods can be used within a context's workflow.

To do: add a a new form element (which in version 2 should replace the existing one) that can be used anywhere and only opens a new window if a user wants to pay using a payment method that is off-site.

See #1860954: Better support for inline/non-off-site payment methods.

Comments

xano’s picture

Version: 7.x-1.x-dev » 8.x-2.x-dev
xano’s picture

xano’s picture

This may also depend on the D8 version of Inline Entity Form.

xano’s picture

xano’s picture

Issue summary: View changes
Status: Active » Postponed
xano’s picture

Title: Support inline payment methods in the reference widget » Support inline payment methods in payment method selectors
Issue summary: View changes
xano’s picture

Status: Postponed » Active

We can actually do this already. Look at EntityFormController as an example. It just called the procedural field_attach_*() functions and contains some extra logic that we should be able to duplicate.

//Edit: take a look at what #2095195: Remove deprecated field_attach_form_*() does.

xano’s picture

StatusFileSize
new5.17 KB

Preliminary patch.

xano’s picture

StatusFileSize
new53.37 KB
xano’s picture

Status: Active » Needs review
StatusFileSize
new39.96 KB

Re-roll.

Status: Needs review » Needs work

The last submitted patch, 10: payment_1860956_10.patch, failed testing.

The last submitted patch, 10: payment_1860956_10.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new38.94 KB

Status: Needs review » Needs work

The last submitted patch, 13: payment_1860956_13.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new39.75 KB

Status: Needs review » Needs work

The last submitted patch, 15: payment_1860956_15.patch, failed testing.

The last submitted patch, 15: payment_1860956_15.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new38.71 KB

Status: Needs review » Needs work

The last submitted patch, 18: payment_1860956_17.patch, failed testing.

xano’s picture

Status: Needs work » Needs review

18: payment_1860956_17.patch queued for re-testing.

Status: Needs review » Needs work

The last submitted patch, 18: payment_1860956_17.patch, failed testing.

xano’s picture

Status: Needs work » Needs review

18: payment_1860956_17.patch queued for re-testing.

Status: Needs review » Needs work

The last submitted patch, 18: payment_1860956_17.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new38.06 KB

Status: Needs review » Needs work

The last submitted patch, 24: payment_1860956_24.patch, failed testing.

xano’s picture

StatusFileSize
new41.26 KB
xano’s picture

StatusFileSize
new47.31 KB
xano’s picture

Status: Needs work » Needs review
StatusFileSize
new45.82 KB

Re-roll.

Status: Needs review » Needs work

The last submitted patch, 28: payment_1860956_28.patch, failed testing.

xano’s picture

Status: Needs work » Needs review

28: payment_1860956_28.patch queued for re-testing.

Status: Needs review » Needs work

The last submitted patch, 28: payment_1860956_28.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new45.82 KB

Re-roll.

Status: Needs review » Needs work

The last submitted patch, 32: payment_1860956_32.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new38.66 KB

Re-roll.

Status: Needs review » Needs work

The last submitted patch, 34: payment_1860956_34.patch, failed testing.

xano’s picture

We may want to use a method rather than a plugin definition property to define whether or not a plugin interrupts the request. Some plugins may or may not interrupts the request based on the current context, and we don't want them to declare themselves and interruptive all the time, because plugin definitions are not dynamic.

xano’s picture

StatusFileSize
new32.6 KB

Re-roll, but with many failures.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new80.65 KB

Status: Needs review » Needs work

The last submitted patch, 38: payment_1860956_38.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new82.78 KB

Status: Needs review » Needs work

The last submitted patch, 40: payment_1860956_40.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new128.07 KB

Status: Needs review » Needs work

The last submitted patch, 42: payment_1860956_42.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new128.88 KB

Status: Needs review » Needs work

The last submitted patch, 44: payment_1860956_44.patch, failed testing.

xano’s picture

xano’s picture

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new141.57 KB

AJAX works now. The workflow needs some polishing, and entity form submission does not work yet.

Status: Needs review » Needs work

The last submitted patch, 48: payment_1860956_48.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new172.7 KB

Everything works, and I added increased test coverage. What's left is to get full test coverage and to add support for fields.

Status: Needs review » Needs work

The last submitted patch, 50: payment_1860956_50.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new164.26 KB

Status: Needs review » Needs work

The last submitted patch, 52: payment_1860956_52.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new184.76 KB

Status: Needs review » Needs work

The last submitted patch, 54: payment_1860956_54.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new186.37 KB

Status: Needs review » Needs work

The last submitted patch, 56: payment_1860956_56.patch, failed testing.

Status: Needs work » Needs review

Xano queued 56: payment_1860956_56.patch for re-testing.

Status: Needs review » Needs work

The last submitted patch, 56: payment_1860956_56.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new186.34 KB

Keeping up with recent changes in HEAD.

xano’s picture

StatusFileSize
new200.54 KB

Improved test coverage.

Status: Needs review » Needs work

The last submitted patch, 61: payment_1860956_61.patch, failed testing.

The last submitted patch, 61: payment_1860956_61.patch, failed testing.

Status: Needs work » Needs review

Xano queued 61: payment_1860956_61.patch for re-testing.

Status: Needs review » Needs work

The last submitted patch, 61: payment_1860956_61.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new205.28 KB

Status: Needs review » Needs work

The last submitted patch, 66: payment_1860956_66.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new622 bytes
new205.38 KB

Status: Needs review » Needs work

The last submitted patch, 68: payment_1860956_68.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new205.56 KB

Status: Needs review » Needs work

The last submitted patch, 70: payment_1860956_70.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new205.49 KB

Xano queued 72: payment_1860956_72.patch for re-testing.

Status: Needs review » Needs work

The last submitted patch, 72: payment_1860956_72.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new205.56 KB

Re-roll.

Status: Needs review » Needs work

The last submitted patch, 75: payment_1860956_75.patch, failed testing.

xano’s picture

Status: Needs work » Needs review
StatusFileSize
new1.53 KB
new205.57 KB

Keeping up with recent changes in Payment.

xano’s picture

Status: Needs review » Fixed

  • Xano committed 3bfece2 on 8.x-2.x
    Issue #1860956 by Xano: Added Support inline payment methods in payment...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.