2016-08-01 22 views
0

Ich arbeite an einem Software-Tool mit kostenpflichtigen Funktionen. Ich plane, braintree zu verwenden, um den Zahlungsteil zu handhaben, aber im Moment ist es nur möglich, Pläne unter Verwendung der Netz-UI zu verursachen.Mehrfache Verwendung einer Plan-ID für verschiedene Preismodelle

Da die Preise meiner Features auf dem Land abhängig, dachte ich, dass ich einfach einen Plan xyzd und Mitarbeiter schaffen könnte, dass mit einem Feature:

INSERT INTO tool_feature (billing_plan_id, name) VALUES ('xyzd', 'Basic feature'); 

SET @basicFeatureId = 1; 

und für eine andere Tabelle, die für die aktuellen Preise definiert jedes Land müsste ich:

SET @germany = 1; 
SET @italy= 2; 

INSERT INTO tool_feature_billing_plan 
    (country_id, tool_feature_id, price) 
VALUES 
    (@germany, @basicFeatureId, 9.9); -- € 9.90 in Germany 

INSERT INTO tool_feature_billing_plan 
    (country_id, tool_feature_id, price) 
VALUES 
    (@italy, @basicFeatureId, 19.9); -- € 19.90 in Italy 

Das bin ich so etwas wie

Long countryId = countryRepository.getCountryIdByAlpha2Code("de"); 
Float price = toolFeatureBillingPlanRepository.getPriceForCountry(countryId); 

SubscriptionRequest request = new SubscriptionRequest() 
    .id("new_id") 
    .paymentMethodToken(paymentMethodToken) 
    .price(new BigDecimal("" + price))  // The price fetched from the database 
    .planId(planId) 
    .merchantAccountId(merchantAccountId); 

Result<Subscription> result = gateway.subscription().update(
    subscriptionId, 
    request 
); 
zu tun erlauben würde,

Es scheint, dass ich das tun kann, aber die Frage ist, ob es eine gute Idee ist, ein Plan/Subscription auf diese Weise zu verwenden.

Der Hauptgrund, warum ich das tun möchte, ist, weil ich für alle Länder einen Plan nicht und alle IDs in meiner Datenbank usw.

Auf diese Weise erhalten erstellen möchten würde ich nur einen Plan haben für jede Eigenschaft und der Rest würde auf meiner Seite behandelt werden.

Antwort

2

Volle Offenlegung: Ich arbeite in Braintree. Wenn Sie weitere Fragen haben, wenden Sie sich bitte an support.

Die oben beschriebene Methode ist korrekt und eignet sich zum Einrichten von Subscriptions mit unterschiedlichen Preisen.

+0

Vielen Dank für die Klarstellung! Ich war mir nicht sicher, ob das wirklich eine gute Idee ist, es so zu machen! – displayname