Skip to content

Can't add a payment provider w/o modifying core #4759

@jamesporl

Description

@jamesporl

Issue Description

Currently the available payment methods are hard-coded into the Reaction Meteor app. This means that plugins have no way of extending it to add or remove a payment method.

Comments in the code seem to indicate that extend union and extend enum were meant to be used here but these are currently unimplemented.

Current code in imports/plugins/core/payments/server/no-meteor/schemas/schema.graphql looks like this:

# These should be defined in their respective plugin schemas, but `extend union` isn't working yet
union PaymentData = ExampleIOUPaymentData | StripeCardPaymentData | MarketplaceStripeCardPaymentData | RadialCardPaymentData

# These should be defined in their respective plugin schemas, but `extend enum` isn't working yet
"The name of a payment method, which is how payment methods are keyed"
enum PaymentMethodName {
  iou_example
  stripe_card
}

My solution at the moment is to write custom code into this file which can be avoided if both extend union and extend enum are supported.

Versions

Node: 10.10.0
NPM: 5.6.0
Meteor Node: 8.11.4
Meteor NPM: 6.4.1
Reaction CLI: 0.29.0
Reaction: 2.0.0
Reaction branch: master
Docker: 18.06.1-ce

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions