public override void GetPaymentMethods(IRpcController controller, bnet.protocol.exchange_object_provider.GetPaymentMethodsRequest request, Action <bnet.protocol.exchange_object_provider.GetPaymentMethodsResponse> done) { Logger.Trace("GetPaymentMethods()"); var builder = bnet.protocol.exchange_object_provider.GetPaymentMethodsResponse.CreateBuilder(); var method = bnet.protocol.exchange_object_provider.PaymentMethod.CreateBuilder(); switch (request.Currency) { case "D3_GOLD": case "D3_GOLD_HC": var goldExtensionData = "{ kind: GAME_ACCOUNT (2) id: " + this.Client.Account.CurrentGameAccount.PersistentID + " program: 17459 region: 98 }"; method.SetAccount(bnet.protocol.exchange.BlobFrom.CreateBuilder() .SetSource((uint)FieldKeyHelper.Program.D3) .SetData(ByteString.CopyFromUtf8(goldExtensionData))) .SetDescription(request.Currency) .SetAmount(100000) .SetWalletId(0) .Build(); break; case "PTR": var data = new byte[] { 0x6A, 0x04, 0x65, 0x6E, 0x55, 0x53, 0x7A, 0x0A, 0x42, 0x61, 0x74, 0x74, 0x6C, 0x65, 0x43, 0x6F, 0x69, 0x6E }; //j\004enUSz\nBattleCoin //data is added to the end of extensionData var ptrExtensionData = bnet.protocol.exchange.Extension.CreateBuilder() .SetPartitionId(bnet.protocol.exchange.PartitionId.ParseFrom(this.Client.Account.BnetEntityId.ToByteArray())) .SetOrderBookId(1) .SetOrderId(3) .SetFilledAmount(0) .SetOrderStatus((int)this.Client.Account.BnetEntityId.Low) .SetAuthorizedTime(0) .Build(); method.SetAccount(bnet.protocol.exchange.BlobFrom.CreateBuilder() .SetSource((uint)FieldKeyHelper.Program.D3) .SetData(ByteString.CopyFrom(ptrExtensionData.ToByteArray().Concat(data).ToArray()))) .SetDescription("BattleCoin") .SetAmount(100000) .SetCashInOutMask(3) .SetBillingAddress(bnet.protocol.exchange.BillingAddress.CreateBuilder() .SetCountryId(221) .SetCity("Irvine") .SetState("CA") .SetPostalCode("92618")) .SetWalletId(123456) .SetCapRestriction(1) .SetAuthenticatorCap(4294967295) .SetSoftCap(4294967295) .Build(); break; } builder.AddMethods(method); done(builder.Build()); }
public override void GetPaymentMethods(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.exchange_object_provider.GetPaymentMethodsRequest request, Action <GetPaymentMethodsResponse> done) { //var response = GetPaymentMethodsResponse.CreateBuilder(); }