Teraz, gdy udało mi się uzyskać dostęp do nowego przepływu płatności (jak FB dokonał "powiadomienia o zmianie brekingu"), mogę powiedzieć, w jaki sposób udało nam się obejść podobny problem.
Sytuacja:
Oferujemy szereg produktów dla użytkownika, które są indywidualnie generowanych w czasie wykonywania, podobny do Twojego problemu: jednego z tych produktów może na przykład zawierać ilość w grze waluty po ustalonej cenie. W innym czasie użytkownik może otrzymać dodatkową kwotę waluty za darmo, co spowoduje, że produkt będzie zawierał + x walutę gry, ale w tej samej cenie.
Rozwiązanie:
Definiujemy produkt dynamicznie, tj nazywamy stronę skryptu, który renderuje indywidualny produkt. W tym celu zapewniamy bezpieczny zaszyfrowany token wysyłany z wywołaniem FB.ui jako request_id. Skrypt produkt teraz odszyfrowuje token i - jeśli przechodzą kontrole bezpieczeństwa - czyni produkt poprzez dynamiczne tworzenie i wyprowadzania og: HTML produktu ...
Uwaga:
proszę upewnić się, że wytwarzane produkty og: url tag ma dokładnie pasuje do wywoływanego adresu URL, np. jeśli tworzysz produkt wzywającą meta http://www.example.com/product.php?test=123&token=nkvadkfjgakajdvkaldhjf swojego produktu na jego adres URL musi wyglądać następująco:
<meta property="og:url" content= "http://www.example.com/product.php?test=123&token=nkvadkfjgakajdvkaldhjf" />
Inaczej, Facebook nie będzie w stanie wykonać przekierowanie ... Pamiętaj: Każdy og: produkt musi być samoodnośnym, wskazując w ten sposób dokładny adres URL, w którym się go nazywa.
Wadą opisanej procedury jest to, że FB nie będzie w stanie buforować twojego produktu, ponieważ każdy użyty request_id musi być unikalny. Ale następnie produkt jest indywidualnie generowany tak, więc po co się męczyć ...
W skrócie:
Wystarczy stworzyć produkt, który dynamicznie spełnia Twoje potrzeby i sprawiają, że punkt do siebie, stosując ilość zamiast z i ustawienie ostatecznej ceny na 2 USD.
<!DOCTYPE html>
<html>
<head prefix=
"og: http://ogp.me/ns#
fb: http://ogp.me/ns/fb#
product: http://ogp.me/ns/product#">
<meta property="og:type" content="og:product" />
<meta property="og:title" content="14 tokens" />
<meta property="og:image" content="http://www.example.com/imageUrl.png" />
<meta property="og:description" content="You'll get 14 tokens here. Use them to your liking..." />
<meta property="og:url" content="[exact_path_to_this_file_including_all_params]" />
<meta property="product:price:amount" content="2"/>
<meta property="product:price:currency" content="USD"/>
</head>
</html>
To, co mnie (i prawdopodobnie wiele innych) interesuje, to: Jak uzyskać nowy przepływ do działania? Ja (jak wiele innych) zawsze otrzymuję _1383005 ("Aplikacja nie może używać nowego przepływu") _ błąd ... Jeśli chodzi o twój problem: Ponieważ masz przejść przez (x, 2), powiedziałbym, że jedyną opcją jest ** zdefiniowanie ** produktu, który zawiera dokładnie 14 żetonów i kosztuje dokładnie 2 dolary. – loptrinho