diff --git a/stellar_sdk/call_builder/payments_call_builder.py b/stellar_sdk/call_builder/payments_call_builder.py index 11298137..a814cf67 100644 --- a/stellar_sdk/call_builder/payments_call_builder.py +++ b/stellar_sdk/call_builder/payments_call_builder.py @@ -66,3 +66,12 @@ def include_failed(self, include_failed: bool) -> "PaymentsCallBuilder": """ self._add_query_param("include_failed", include_failed) return self + + def join(self, join: str) -> "PaymentsCallBuilder": + """join represents `join` param in queries, currently only supports `transactions` + + :param join: join represents `join` param in queries, currently only supports `transactions` + :return: current OperationsCallBuilder instance + """ + self._add_query_param("join", join) + return self diff --git a/tests/call_builder/test_payments_call_builder.py b/tests/call_builder/test_payments_call_builder.py index 69e3f9d0..1f45a8b3 100644 --- a/tests/call_builder/test_payments_call_builder.py +++ b/tests/call_builder/test_payments_call_builder.py @@ -58,3 +58,16 @@ def test_not_include_failed(self): account_id=account_id ) assert builder.params == {"include_failed": "false"} + + def test_join(self): + account_id = "GATEMHCCKCY67ZUCKTROYN24ZYT5GK4EQZ65JJLDHKHRUZI3EUEKMTCH" + builder = ( + PaymentsCallBuilder(horizon_url, client) + .for_account(account_id) + .include_failed(False) + .join("transactions") + ) + assert builder.endpoint == "accounts/{account_id}/payments".format( + account_id=account_id + ) + assert builder.params == {"include_failed": "false", "join": "transactions"}